Promise.allSettled를 사용하면 결괏값이 좀 더 자세해져서 어떤 프로미스가 reject되었는지 status를 통해 알 수 있습니다. 실패 이유는 reason에 들어 있습니다. 따라서 Promise.all 대신 Promise.allSettled를 사용하는 것을 좀 더 권장합니다.

    참고로 Node 16 버전부터는 rejectPromisecatch를 달지 않으면 UnhandledPromiseRejection 에러가 발생합니다. 에러가 발생하면 다음 코드가 실행되지 않으니 반드시 프로미스에 catch 메서드를 붙이는 것을 권장합니다.

    try {
      Promise.reject('에러');
    } catch (e) {
      console.error(e); // UnhandledPromiseRejection: This error originated either by throwing inside...
    }
    
    Promise.reject('에러').catch(() => {
      // catch 메서드를 붙이면 에러가 발생하지 않음
    })
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.