JavaScript에서 여러 비동기 함수를 기다리는 것은 동시에 실행되는 것이 아니라 순차적으로 실행되는 것처럼 보일 수 있습니다. 이는 질문을 제기합니다: 어떻게 이러한 함수를 병렬로 실행할 수 있습니까?
비동기 함수를 병렬로 실행하려면 Promise.all( ) 기능. Promise 배열을 인수로 사용하고 배열의 모든 Promise가 해결될 때 해결되는 단일 Promise를 반환합니다.
await Promise.all([someCall(), anotherCall()]);
이 코드에서는 someCall()과 anotherCall()이 동시에 호출됩니다. 두 함수 모두 실행이 완료된 경우에만 스크립트가 진행됩니다.
병렬 결과에 액세스하려는 경우 비동기 호출을 사용하면 Promise.all()에서 반환된 배열의 구조를 해제할 수 있습니다.
let [someResult, anotherResult] = await Promise.all([someCall(), anotherCall()]);
Promise.all()은 " 빠른 실패" 접근 방식. 배열의 Promise 중 하나라도 거부되면 전체 Promise.all() Promise는 첫 번째 실패한 Promise의 오류와 함께 거부됩니다.
// If any of the promises fails, it will reject Promise.all([happy('happy', 100), sad('sad', 50)]).then(console.log).catch(console.log);
위 내용은 여러 비동기 JavaScript 기능을 동시에 실행하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!