본문 바로가기

Javascript/Node

[Node] promise.all 사용해보기

728x90
반응형

 

 

promise.all 이란?

promise를 통해 비동기 처리할 때 다수의 promise가 완료될 때까지 모든 promise를 대기시키고 완료가 될 때 해당하는 값을 리턴 받을 수 있도록 하는 함수

  • 배열 안에 있는 모든 promise가 완료될 때까지 기다렸다가 모두가 실행됐을 경우 값을 리턴
  • 한가지 이상 혹은 다수의 비동기 promise에 대해서 모든 작업의 완료를 보장받을 수 있음
  • 다양한 API를 호출하고 여러가지 데이터를 조합할 경우에 자주 쓰임

예시

const promise1 = new Promise((resolve, reject) => resolve('즉시 호출'));
const promise2 = new Promise((resolve, reject) => {
    setTimeout(() => resolve('3초 뒤 호출'),3000)
});

Promise.all([promise1, promise2])
.then(values => console.log(values))

위의 소스는 즉시 호출되는 프로미스와 3초 뒤 호출 되는 프로미스를 promise.all로 묶어 실행하였다.

위에서 말한 promise.all의 특성으로 인해 모든 promise의 호출이 끝난 3초 뒤에 실행 된다.

 

728x90
반응형