> 웹 프론트엔드 > JS 튜토리얼 > Await `Promise.all()` 대 다중 `await`: 언제 어느 것을 사용해야 할까요?

Await `Promise.all()` 대 다중 `await`: 언제 어느 것을 사용해야 할까요?

Susan Sarandon
풀어 주다: 2024-12-01 00:45:11
원래의
196명이 탐색했습니다.

Await `Promise.all()` vs. Multiple `await`: When to Use Which?

Await Promise.all()과 Multiple Await

비동기 프로그래밍에서 Await Promise.all()과 Multiple Await 중 하나를 사용할지 결정 문은 실행 타이밍과 오류 처리에 영향을 미칠 수 있습니다. 주요 차이점을 비교하면 다음과 같습니다.

예 1: 실행 타이밍

Promise.all()을 사용하여 작업을 동시에 실행하면 작업을 기다리는 것보다 더 빨리 완료될 수 있습니다. 순차적으로:

let data = await Promise.all([task1(), task2(), task3()]);

// ms ------1---------2---------3---------4---------5
// =============================O task 1
// ====================O           task 2
// =========O                     task 3
//
// =============================O Promise.all
로그인 후 복사

예 2: 오류 처리

Promise.all()은 오류 처리 시 여러 wait 문과 다르게 동작합니다.

  • Promise.all( [task1(), task2()] ): 배열의 작업 중 하나라도 거부되면 Promise.all() 약속은 모든 오류가 포함된 집계 오류 개체와 함께 즉시 거부됩니다. 발생했습니다.
  • const t1 = task1(); const t2 = 작업2(); const r1 = t1을 기다립니다; const r2 = wait t2;: task1()이 거부되면 실행은 다음 줄로 계속 진행됩니다. 여기서 wait t2; 처형될 것이다; task2()도 거부하는 경우 해당 거부만 처리되지 않은 예외로 전달됩니다.

요약하자면 Promise.all()은 동시 실행을 제공하지만 거부 시 조기에 실패하는 반면 여러 wait 문은 작업을 순차적으로 실행하여 개별 오류 처리가 가능합니다. 귀하의 애플리케이션의 특정 요구 사항에 따라 현명하게 선택하십시오.

위 내용은 Await `Promise.all()` 대 다중 `await`: 언제 어느 것을 사용해야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿