promise 는 then 을 사용한다.
async & await은 then 대신에 await를 사용한다.
async & await은 promise (then) 지옥을 예방할수있다.
resolve 는 이행이될때 ,
reject는 이행되지않을때(거부되었을때)
라고 생각했엇음 (추측)
promise가 실행되기전은 pending(대기) 상태.
promise함수가 실행되었을땐 fullfilled(이행)
promise함수가 실행후 reject를 호출하면 rejected(실패)
promise의 콜백 함수의 인자 resolve, reject로 들어옴.
then은 이행이 되었을때(fullfilled) , catch로 이행이됨.
53번째 줄이 world가 나와서 55번째 줄의 데이터의 인자에
world가 들어가서 data가 world가 되고,
56번째줄 콘솔로그를 확인하면서 world가 프린트 됩니다.
resolve('hello')가 49번째줄 data 로 들어가서 나중에 월드로 리턴이됨.
const sleep = (wait) => {
return new Promise((resolve) => {
console.log('resolve : ', resolve)
setTimeout(() => {
resolve('hello')
console.log('hello : ', resolve)
console.log('시간 :' , wait)
}, wait);
});
}