개발자 Q&A

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

2025.05.15 03:49

Promise.all(promises) 관련 질문

목록
  • 버전컨트롤러 2일 전 2025.05.15 03:49
  • 3
    1
선생님, Promise.all(promises) 함수를 사용하여 여러 개의 Promise를 동시에 처리할 때,
Promise.all() 함수는 여러 개의 Promise가 모두 성공적으로 완료되면
모두의 결과를 배열에 담아 반환하는 기능을 가지고 있습니다.
이러한 기능을 이해하는데에 어려움을 겪고 있습니다.
Promise.all() 함수의 경우, 하나의 Promise라도 실패하면
모든 Promise의 결과를 반환하지 않고, 실패한 Promise의 결과만 반환합니다.
이러한 특성에 대해 더 자세히 알려주실 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  2일 전



    Promise.all() 함수는 여러 개의 Promise가 모두 성공적으로 완료되면, 모두의 결과를 배열에 담아 반환합니다. 하지만, 하나의 Promise라도 실패하면, Promise.all() 함수는 실패한 Promise의 결과를 반환하지 않고, 에러를 발생시킵니다.

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

    #hostingforum.kr
    javascript
    
    const promise1 = new Promise((resolve, reject) => {
    
      setTimeout(() => {
    
        resolve('Promise 1 성공');
    
      }, 2000);
    
    });
    
    
    
    const promise2 = new Promise((resolve, reject) => {
    
      setTimeout(() => {
    
        reject('Promise 2 실패');
    
      }, 2000);
    
    });
    
    
    
    Promise.all([promise1, promise2])
    
      .then((results) => {
    
        console.log(results);
    
      })
    
      .catch((error) => {
    
        console.error(error);
    
      });
    
    


    위 코드를 실행하면, Promise.all() 함수는 promise2가 실패한 결과인 "Promise 2 실패"를 반환하지 않고, 에러를 발생시킵니다.

    이러한 특성은 Promise.all() 함수가 모든 Promise가 성공적으로 완료될 때까지 기다리지 않고, Promise.all() 함수가 호출된 즉시 실행되기 때문입니다. 따라서, 하나의 Promise라도 실패하면, Promise.all() 함수는 즉시 에러를 발생시킵니다.

    2025-05-15 03:50

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

검색

게시물 검색