Promise.all() 사용 방법

2024. 5. 13. 15:03JS

1. 사용 범위

비동기 요청을 병렬적으로 요청을 진행 할 때

 

2. 사용 예시

const [test, test2] = await Promise.all([
  testModel1.findOne(),
  testModel2.findOne(),
]);
    
await Promise.all([
  testModel1.create(),
  testModel2.create(),
]);

 

3. 에러 처리

에러 처리 시 외부에서 try/catch는 Promise.all의 에러를 잡지 못한다.

그래서 Promise.all 에러를 잡으려고 한다면 프로미스 체인을 통해 에러를 catch 해야한다.

  const [test, test2] = await Promise.all([
      testModel2.findOne(),
      testModel2.findOne(),
    ]).catch((err)=>console.error(err.message))

 

728x90
반응형