프로미스를 콘솔 창에 입력하다 보면 fulfilled, rejected, pending 이라는 표현을 보게 됩니다. 오늘은 이 3가지 상태에 대해 짚고 넘어가 보겠습니다.
new Promise((resolve, reject) => {
resolve('성공');
});<Promise {<fulfilled>: '성공'}new Promise((resolve, reject) => {
reject('에러');
});<Promise {<rejected>: '에러'}new Promise((resolve, reject) => {
setTimeout(() => resolve('성공'), 0);
});<Promise {<pending>}Promise는 현재 객체가 프로미스 객체라는 걸 알려 주고, <> 안 값은 각 프로미스의 상태를 의미합니다. fulfilled는 성공했다는 뜻이고, rejected는 실패했다는 뜻이며, pending은 성공이나 실패 결과를 기다린다는 뜻입니다. pending은 resolve()나 reject()가 비동기 함수 내부에서 호출될 때 볼 수 있습니다.