학습/JS 학습

[JS]promise

누군가 사용 중인 닉네임 2023. 11. 19. 14:09

Promise 객체

1. fetch 함수
pending 후
fulfilled 또는 rejected의 작업결과를 promise객체로 반환한다

2. .then (콜백1, (콜백2))
fulfilled 상태일 때 callback 함수를 실행 후 promise 객체를 반환한다.
두번째 파라미터는 reject 상태일 때 실행되는 callback 함수
.catch
rejected 상태일 때 callback 함수를 실행 후 promise 객체를 반환한다.


Promise 객체를 반환할 경우:

이 Promise 객체가 성공적으로 처리되면 (즉, fulfilled 상태가 되면) 다음 .then으로 체이닝됩니다.
이 Promise 객체가 거부되면 (즉, rejected 상태가 되면) 다음 .catch로 체이닝됩니다.


다른 값을 반환할 경우:

새로운 값이 fulfilled 상태가 되어 다음 .then으로 전달됩니다.


promise chaining에서 중간에 return이 없으면 undefined를 반환한다.

콜백함수 자체에서 에러가 발생할 경우 rejected 상태가 된다.


3. 프로미스 객체 만들기

const promiseObj = new Promise((resolve, reject) => {

});

executor 함수
resolve >>> fulfilled를 만드는 함수
reject >>> rejected를 만드는 함수


4. async / await
await는 작업이 완료될때까지 함수 내의 코드실행이 중지되고, 함수 밖 코드를 우선적으로 실행시킨다.