Await Promise.all()과 Multiple Await: 타이밍 차이
JavaScript에서는 Promise.all()을 사용하여 비동기 작업을 처리할 수 있습니다. ) 또는 여러 개의 대기 문. 두 방법 모두 궁극적으로 여러 Promise가 확정되기를 기다리는 동일한 목적을 제공하지만 둘 사이에는 미묘한 타이밍 차이가 있습니다.
시나리오 1: Promise.all() 사용
Promise.all()은 일련의 약속을 취해 모든 입력 약속이 확정되면 해결 여부에 관계없이 일련의 결과로 해결되는 단일 약속을 반환합니다. Reject.
예:
이 예에서 Promise.all() 메서드는 세 가지 입력 약속이 모두 해결될 때까지 데이터 확인을 지연합니다.
시나리오 2: 여러 개의 wait 문 사용
이 시나리오에서는 여러 개의 wait 문이 사용됩니다. 각 개별 약속이 해결되기를 기다리는 데 사용됩니다.
여기서 result1은 task1()이 해결되자마자 해결되고 result2는 task2()가 해결되자마자 해결됩니다.
타이밍 비교
이 두 접근 방식의 주요 타이밍 차이는 Promise.all()은 모든 입력 약속이 확정될 때까지 최종 결과 해결을 지연합니다. 이는 진행하기 전에 모든 작업이 완료될 때까지 기다리는 것이 중요한 시나리오에서 유리할 수 있습니다.
반면에 여러 개의 wait 문을 사용하면 개별 작업이 독립적으로 해결될 수 있으므로 전체 완료 시간이 더 빨라질 수 있습니다. .
예시 그림
지연 함수를 사용하여 비동기식을 시뮬레이션하는 예를 살펴보겠습니다. 작업:
예제 #1(Promise.all() 사용):
예제 #2(여러 wait 문 사용):
예제에서 #1, Promise.all() 메서드는 세 가지 작업이 모두 완료될 때까지 데이터 확인을 지연하며 3초가 걸립니다. 예시 #2에서는 작업이 독립적으로 해결되므로 결과1은 1초 후에, 결과2는 2초 후에, 결과3은 3초 후에 사용할 수 있습니다.
위 내용은 Promise.all() 대 다중 대기: 타이밍 차이가 언제 중요합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!