더북(TheBook)

resolve()reject() 함수를 실전에서 어떻게 쓰는지 잘 와닿지 않으므로 다음 비동기 코드를 프로미스 문법으로 전환해 보겠습니다.

const timerId = setTimeout(() => {
  console.log('0초 뒤에 실행됩니다.');
}, 0);

프로미스 문법으로 작성하면 다음과 같습니다.

const setTimeoutPromise = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve();
  }, 0);
});
setTimeoutPromise.then(() => {
  console.log('0초 뒤에 실행됩니다.');
});

0초 타이머 후에 resolve() 함수가 호출됩니다. 이러면 프로미스가 성공한 것이고 then() 메서드의 콜백 함수가 실행됩니다. 아직 프로미스로 바꾼 장점이 무엇인지 와닿지 않을 텐데 조금 뒤에 설명합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.