개발자 Q&A

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

2025.05.30 06:48

Promise.all(promises) 사용 시 에러 처리 방법

목록
  • 암호화마스터 3일 전 2025.05.30 06:48
  • 14
    1
제가 Promise.all(promises) 함수를 사용하여 여러 개의 Promise를 동시에 처리하려고 하지만, 하나의 Promise가 실패하면 모두 실패하는 것을 해결할 방법을 찾고 있습니다.

Promise.all(promises) 함수의 에러 처리에 대한 방법은 무엇입니까?

예를 들어, 다음과 같이 promises 배열에 여러 개의 Promise를 추가하고 있습니다.

javascript

const promises = [

  fetch('https://api.example.com/data1'),

  fetch('https://api.example.com/data2'),

  fetch('https://api.example.com/data3')

];



Promise.all(promises)

  .then((results) => {

    console.log(results);

  })

  .catch((error) => {

    console.error(error);

  });



하나의 Promise가 실패하면, 모든 Promise가 실패하는 것을 어떻게 해결할 수 있나요?

이러한 에러 처리 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  3일 전



    Promise.all(promises) 함수의 에러 처리 방법은 다음과 같습니다.

    Promise.all() 함수는 모든 Promise가 성공적으로 완료되면 Promise.all() 함수가 성공적으로 완료됩니다. 하지만 하나의 Promise가 실패하면 Promise.all() 함수도 실패합니다.

    이러한 문제를 해결하기 위해서는 Promise.allSettled() 함수를 사용할 수 있습니다. Promise.allSettled() 함수는 모든 Promise가 성공적으로 완료되거나 실패하면 Promise.allSettled() 함수가 성공적으로 완료됩니다.

    다음은 예시입니다.

    #hostingforum.kr
    javascript
    
    const promises = [
    
      fetch('https://api.example.com/data1'),
    
      fetch('https://api.example.com/data2'),
    
      fetch('https://api.example.com/data3')
    
    ];
    
    
    
    Promise.allSettled(promises)
    
      .then((results) => {
    
        console.log(results);
    
      })
    
      .catch((error) => {
    
        console.error(error);
    
      });
    
    


    또한, Promise.all() 함수를 사용할 때는 catch() 함수를 사용하여 에러를 처리할 수 있습니다. catch() 함수는 하나의 Promise가 실패하면 catch() 함수가 호출됩니다.

    #hostingforum.kr
    javascript
    
    const promises = [
    
      fetch('https://api.example.com/data1'),
    
      fetch('https://api.example.com/data2'),
    
      fetch('https://api.example.com/data3')
    
    ];
    
    
    
    Promise.all(promises)
    
      .then((results) => {
    
        console.log(results);
    
      })
    
      .catch((error) => {
    
        console.error(error);
    
      });
    
    


    이러한 방법을 사용하여 하나의 Promise가 실패하면 모든 Promise가 실패하는 것을 해결할 수 있습니다.

    2025-05-30 06:49

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

검색

게시물 검색