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() 생성자 - JavaScript | MDN

Promise 생성자는 주로 프로미스를 지원하지 않는 함수를 감쌀 때 사용합니다.

developer.mozilla.org


Promise 상태

 

대기 (pending) : 비동기 처리가 완료되지 않은 상태

이행 (fulfilled) : 비동기 처리가 완료, 프로미스가 결과값을 반환한 상태

거부 (rejected) : 비동기 처리가 실패, 또는 오류 발생

 

myPromise
.then((data) => { // resolve 값
	console.log(data);
})
.catch((err) => { // reject 값
	console.log(err);
})
.finally(() => { // 어떤 상태건 마지막에 실행
	console.log('done');
})