Javascript
Javascript 프로미스 ( Promise )
muyeon
2023. 5. 16. 20:36
Promise 객체는 new 키워드와 생성자를 사용해 만든다. 인자로 함수를 받고 함수의 첫번째 인자는 resolve 성공했을때 결과값 반환, 두번째 인자는 reject 작업이 실패했을때 오류원인 반환
const promise1 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('foo');
}, 300);
});
promise1.then((value) => {
console.log(value);
// Expected output: "foo"
});
console.log(promise1);
// Expected output: [object Promise]
출처 : mdn javascript
링크 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise/Promise
Promise 상태
대기 (pending) : 비동기 처리가 완료되지 않은 상태
이행 (fulfilled) : 비동기 처리가 완료, 프로미스가 결과값을 반환한 상태
거부 (rejected) : 비동기 처리가 실패, 또는 오류 발생
myPromise
.then((data) => { // resolve 값
console.log(data);
})
.catch((err) => { // reject 값
console.log(err);
})
.finally(() => { // 어떤 상태건 마지막에 실행
console.log('done');
})