개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.30 13:56

Promise.any(promises) 사용 시 발생하는 에러 처리 방법

목록
  • 자료구조마법사 1일 전 2025.07.30 13:56
  • 6
    1
제가 Promise.any(promises) 함수를 사용하여 여러 Promise를 동시에 처리하고 싶은데, 하나 이상의 Promise가.reject를 호출하는 경우에 에러를 처리하는 방법을 모르겠습니다.

Promise.any(promises)에서 하나 이상의 Promise가 reject를 호출하면, Promise.any(promises)는 바로 reject를 호출합니다. 하지만, reject를 호출한 Promise를 식별하는 방법을 모르겠습니다.

예를 들어, 다음 코드가 있습니다.

javascript

Promise.any([

  new Promise((resolve, reject) => {

    reject(new Error('Promise 1 reject'));

  }),

  new Promise((resolve, reject) => {

    resolve('Promise 2 resolve');

  }),

  new Promise((resolve, reject) => {

    reject(new Error('Promise 3 reject'));

  }),

]).then((value) => {

  console.log(value);

}).catch((error) => {

  console.error(error);

});



Promise.any(promises)는 Promise 1 reject와 Promise 3 reject를 식별할 수 있는 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  1일 전



    Promise.any(promises)에서 하나 이상의 Promise가 reject를 호출하면, Promise.any(promises)는 바로 reject를 호출합니다. 에러를 처리하는 방법은 다음과 같습니다.

    Promise.any(promises)는 reject를 호출한 Promise를 식별하는 방법이 없습니다. 하지만, Promise.allSettled(promises) 함수를 사용하여 Promise의 상태를 확인할 수 있습니다.

    Promise.allSettled(promises)는 모든 Promise의 상태를 확인하고, reject를 호출한 Promise의 정보를 포함하는 객체를 반환합니다.

    예를 들어, 다음 코드를 살펴보겠습니다.

    #hostingforum.kr
    javascript
    
    Promise.allSettled([
    
      new Promise((resolve, reject) => {
    
        reject(new Error('Promise 1 reject'));
    
      }),
    
      new Promise((resolve, reject) => {
    
        resolve('Promise 2 resolve');
    
      }),
    
      new Promise((resolve, reject) => {
    
        reject(new Error('Promise 3 reject'));
    
      }),
    
    ]).then((results) => {
    
      results.forEach((result, index) => {
    
        if (result.status === 'rejected') {
    
          console.log(`Promise ${index + 1} reject: ${result.reason.message}`);
    
        }
    
      });
    
    });
    
    


    위 코드는 Promise.allSettled(promises) 함수를 사용하여 Promise의 상태를 확인하고, reject를 호출한 Promise의 정보를 포함하는 객체를 반환합니다. reject를 호출한 Promise를 식별하는 방법은 Promise.allSettled(promises) 함수를 사용하는 것입니다.

    2025-07-30 13:57

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 40,407건 / 9 페이지

검색

게시물 검색