라이브러리

[JAVASCRIPT] Promise.allSettled(promises) - 모든 프로미스가 완료될 때까지 기다린 후 상태와 결과 반환




Promise.allSettled() 설명


`Promise.allSettled()`는 Promise.all()과 유사한 메서드입니다. 그러나 Promise.all()는 모든 Promise가 resolve된 후에 resolve된 값을 반환합니다. 반면에 Promise.allSettled()는 모든 Promise가 settle된 후에 resolve된 값을 반환합니다. settle된 값은 resolve된 값과 reject된 값을 모두 포함합니다.

Promise.allSettled() 사용 예제


#hostingforum.kr
javascript

// Promise.allSettled() 사용 예제

const promises = [

  new Promise((resolve) => {

    setTimeout(() => {

      resolve('Promise 1 resolve');

    }, 1000);

  }),

  new Promise((resolve, reject) => {

    setTimeout(() => {

      reject('Promise 2 reject');

    }, 2000);

  }),

  new Promise((resolve) => {

    setTimeout(() => {

      resolve('Promise 3 resolve');

    }, 3000);

  }),

];



Promise.allSettled(promises).then((results) => {

  console.log(results);

}).catch((error) => {

  console.error(error);

});



위의 예제에서 `Promise.allSettled()`는 모든 Promise가 settle된 후에 resolve된 값을 반환합니다. 결과는 다음과 같습니다.

#hostingforum.kr
json

[

  { status: 'fulfilled', value: 'Promise 1 resolve' },

  { status: 'rejected', reason: 'Promise 2 reject' },

  { status: 'fulfilled', value: 'Promise 3 resolve' }

]



Promise.allSettled()와 Promise.all()의 차이점


Promise.allSettled()와 Promise.all()의 차이점은 다음과 같습니다.

- Promise.all()는 모든 Promise가 resolve된 후에 resolve된 값을 반환합니다.
- Promise.allSettled()는 모든 Promise가 settle된 후에 resolve된 값을 반환합니다. settle된 값은 resolve된 값과 reject된 값을 모두 포함합니다.

Promise.allSettled()의 사용 사례


Promise.allSettled()는 다음과 같은 사용 사례가 있습니다.

- 모든 Promise가 settle된 후에 처리해야 하는 작업이 있을 때 사용할 수 있습니다.
- Promise.all()보다 더 많은 정보를 얻고 싶을 때 사용할 수 있습니다.

결론


Promise.allSettled()는 모든 Promise가 settle된 후에 resolve된 값을 반환하는 메서드입니다. Promise.all()와의 차이점을 이해하고, 사용 사례를 파악하여 적절하게 사용할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 3 페이지

검색

게시물 검색