[Javascript #1] Promise 란?

황인섭·2024년 1월 4일
0

JAVASCRIPT

목록 보기
1/2

1. Promise 란?

- javascript에서 비동기 프로그래밍을 위해 사용되는 객체
- 지금은 사용할 수 없지만 후에 성공하거나 실패했을 때 값을 나타낸다.


2. 사용하는 이유

  1. 비동기 작업
    - 데이터를 가져오거나 파일 읽기, 이벤트 처리 등 시간이 걸리는 작업을 처리할 때 사용한다.

  2. CallBack Hell 회피
    - 중첩된 콜백 함수를 방지하여 코드를 더 읽기 쉽고 관리하기 쉽게 만든다.

    CallBack Hell 이란?
    - callback 함수안에, callback 함수안에, callback 함수안에... 안에... 안에...
    - 아래 코드와 같이 들여쓰기가 계속되어 코드 읽기가 힘들다.

    const operation1(callback) {
    	setTimeout(() => {
    		// do Something
    		callback()
    	}, 1000)
    }
    
    const operation2(callback) {
    	setTimeout(() => {
    		// do Something
    		callback()
    	}, 1000)
    }
    
    const operation3(callback) {
    	setTimeout(() => {
    		// do Something
    		callback()
    	}, 1000)
    }
    
    
    operation1(() => {
    	operation2(() => {
    		operation3(() => {
    			//... continue
    		})
    	})
    })
  3. 체이닝
    - 여러 비동기 작업을 함께 연결할 수 있다.

  4. 에러 핸들링
    - 에러 핸들링 기능이 내장되어 있어, 더 효과적으로 오류 관리를 제어할 수 있다.


3. 사용 방법

  1. Promise 생성
    - Promise 생성자를 사용하여 Promise 생성
// case 1.
const myPromise = new Promise((resolve, reject) => {
	//비동기 작업 수행
	//성공하면 resolve CALL
  	if(success){
      resolve()
	} else {
  	//실패하면 reject CALL
      reject()
    }
})

// case 2.
const myFunc = () => {
	return new Promise((resolve, reject) => { // do Something })
}

0개의 댓글