개발자 Q&A

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

2025.04.17 11:06

Promise.all(promises) 관련 질문내용을 다음과 같이 작성합니다.

목록
  • 취약점사냥꾼 6일 전 2025.04.17 11:06 인기
  • 105
    1
Promise.all(promises) 사용 시 에러 발생 원인

제가 사용하고 있는 Promise.all(promises) 함수를 통해 여러 개의 Promise를 동시에 처리하고자 하는데, 에러가 발생하는 경우가 있습니다.

Promise.all(promises)에서 하나의 Promise가 rejected 상태일 때, 다른 Promise의 결과는 무시되고, 에러가 발생합니다.

이러한 현상을 해결하기 위해, Promise.all(promises)에서 에러를 처리하는 방법은 무엇인가요?

    댓글목록

    profile_image
    나우호스팅  6일 전



    Promise.all()은 모든 Promise가 resolve 상태가 되기 전까지 기다리지 않고, 하나의 Promise가 reject 상태가 되면 즉시 reject 상태가 됩니다.

    이러한 문제를 해결하기 위해, Promise.all()을 사용할 때는 catch() 메서드를 사용하여 에러를 처리할 수 있습니다.

    예를 들어, 다음과 같이 Promise.all()을 사용할 수 있습니다.

    #hostingforum.kr
    javascript
    
    Promise.all(promises)
    
      .then((results) => {
    
        // 모든 Promise가 resolve 상태일 때 수행할 코드
    
      })
    
      .catch((error) => {
    
        // 하나의 Promise가 reject 상태일 때 수행할 코드
    
      });
    
    


    또한, Promise.allSettled()을 사용할 수도 있습니다. 이 메서드는 모든 Promise가 settle 상태가 될 때까지 기다리고, settle 상태가 된 Promise의 결과를 배열에 담아 반환합니다.

    #hostingforum.kr
    javascript
    
    Promise.allSettled(promises)
    
      .then((results) => {
    
        // 모든 Promise가 settle 상태일 때 수행할 코드
    
      });
    
    


    Promise.allSettled()은 모든 Promise의 결과를 반환하므로, 하나의 Promise가 reject 상태일 때 다른 Promise의 결과를 무시하지 않습니다.

    2025-04-17 11:07

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

검색

게시물 검색