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() 메서드의 콜백 함수가 실행됩니다. 아직 프로미스로 바꾼 장점이 무엇인지 와닿지 않을 텐데 조금 뒤에 설명합니다.