Promise.all()

2 min read

Promise.all() 배열로 주어진 Promise를 인자로 받아 병렬로 처리하고 모든 Promise가 이행된 후 결과를 배열로 묶어 새로운 Promise로 반환합니다.

만약 Promise 중 하나라도 reject 되면 Promise.all()은 즉시 reject 되며 첫 번째로 reject된 이유를 반환합니다.

이를 활용하여 여러 가지 비동기 작업을 병렬로 처리하고 전부 완료되기를 기다린 후 결과를 처리하고 싶을 때 사용할 수 있습니다.

Promise.all([promise1, promise2, promise3])
  .then((results) => {
    // 모든 프로미스가 성공적으로 이행됐을 때 실행
    // results 배열에는 promise1, promise2, promise3의 결과가 순서대로 담겨있다.
  })
  .catch((error) => {
    // 하나라도 거부되면 실행
    // error는 거부된 프로미스의 이유
  });

참고

© freejak5520. All rights reserved.