>웹 프론트엔드 >JS 튜토리얼 >JavaScript에서 비동기 기능을 병렬로 실행하려면 어떻게 해야 합니까?

JavaScript에서 비동기 기능을 병렬로 실행하려면 어떻게 해야 합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-24 03:35:10473검색

How Can I Execute Async Functions in Parallel in JavaScript?

비동기 함수를 병렬로 실행

ES7/ES2016에서는 Wait 식의 순차적 실행이 기본 동작으로, 를 사용하여 약속을 연결하는 것과 유사합니다. 그 다음에(). 그러나 비동기 호출을 병렬로 수행하기 위한 대체 접근 방식이 있습니다.

Promise.all()을 사용한 병렬 실행

한 가지 우아한 솔루션은 Promise.all( ). 이 메서드는 Promise 배열을 사용하고 결과 배열로 확인되는 단일 Promise를 반환합니다.

await Promise.all([someCall(), anotherCall()]);

개별 결과를 저장하려면 반환 값을 변수로 분해할 수 있습니다.

let [someResult, anotherResult] = await Promise.all([someCall(), anotherCall()]);

주의 사항: catch()를 사용하여 거부 처리

참고 Promise.all()은 "빠른 실패" 의미를 구현합니다. 이는 입력 Promise 중 하나라도 거부되면 실패한 Promise의 오류로 인해 전체 작업이 거부됨을 의미합니다. 잠재적인 오류를 포착하고 처리하려면 .catch() 메서드를 사용하세요.

예:

Promise.all([happy('happy', 100), sad('sad', 50)])
  .then(console.log).catch(console.log); // Logs 'sad'

위 내용은 JavaScript에서 비동기 기능을 병렬로 실행하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.