더북(TheBook)

4.6.1.3 Promise 만들기

Promise를 사용하면 콜백 함수로 비동기 작업을 관리하다 발생할 수 있는 콜백 지옥을 방지할 수 있습니다. 먼저 콜백 함수를 사용하는 비동기적 코드 예시를 한번 살펴봅시다.

function double(number, callback) {
  setTimeout(() => {
    if (!callback) return;
    const result = number * 2;
    console.log(`${number} * 2 = ${result}`);
    callback(number * 2);
  }, 500);
}

double(1, result => {
  double(result, result => {
    double(result, result => {
      double(result, result => {
        console.log(`최종 결과는 ${result}입니다.`)
      })
    })
  })
});
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.