비동기 처리에 사용되는 객체.
비동기를 처리할 때 사용.
Promise는
pending(new Promise()메서드 호출),
fulfilled(resolve 호출),
rejected(reject 호출)의 3가지 상태를 가진다.
**주의** Promise를 만들엇을 때, executor(resolve나 reject)는 바로 실행된다.
new Promise (resolve, reject){ ... }
resolve와 reject를 인자로 가짐.
promise
.then( resolve의 콜백함수(value == resolve의 반환값) )
.catch( reject의 콜백함수(error == reject의 반환값) )
.final( fn{resolve와 reject에 상관없이 마지막에 실행될 코드}\ );
예제를 통해 살펴보자.
ex1.
만약 resolve가 활성화되어 있다면 console에는 'ellie'와 'finally'만 출력.
ex2.
getHen( ) //🐓
.then( getEgg ) //🐓 => 🥚
.then( cook ) //🐓 => 🥚 => 🍳
함수의 인자값이 같은 경우 다음과 같이 인자는 생략가능.
Error Handling(에러 처리)
getHen( ) //🐓
.then( getEgg ) //error! 🐓 => 🥚
.catch( error => '🥖'; ) //🥖;
.then( cook ) //🥖 => 🍳
JavaScript :: Promise API (all, race, allSettled) (0) | 2020.10.14 |
---|---|
JavaScript :: async, await (0) | 2020.10.13 |
JavaScript :: 배열 메서드 (forEach, map, filter, find, reduce, reduceRight, some, every) (0) | 2020.10.12 |
JavaScript :: 유사배열 forEach, check박스 이벤트적용하기 (0) | 2020.09.30 |
JavaScript :: Class의 getter, setter (0) | 2020.09.23 |
댓글 영역