JavaScript에서 어떻게 비동기 함수를 동시에 실행할 수 있나요?

Mary-Kate Olsen
풀어 주다: 2024-11-20 04:33:01
원래의
775명이 탐색했습니다.

How Can I Execute Async Functions Concurrently in JavaScript?

Async 함수 동시 실행

ES7/ES2016에서는 여러 개의 Wait 문을 사용해도 함수가 병렬로 실행되지 않습니다. 대신 .then()을 promise와 연결하는 것과 마찬가지로 순차적으로 실행됩니다.

예:

await someCall();
await anotherCall();
로그인 후 복사

이 예에서 anotherCall()은 다음과 같습니다. someCall()이 완료되면 호출됩니다.

비동기 함수 병렬화 호출

비동기 기능을 병렬로 실행하려면 몇 가지 옵션이 있습니다.

Promise.all() 사용

Node.js에서 가장 간단한 접근 방식은 다음과 같습니다. Promise.all()을 사용하여 동시에 실행하려는 비동기 함수를 래핑합니다.

await Promise.all([someCall(), anotherCall()]);
로그인 후 복사

이렇게 하면 모든 입력 약속의 완료를 나타내는 단일 약속을 만듭니다.

결과 저장

결과를 저장해야 하는 경우 Wait 문에서 구조 분해를 사용할 수 있습니다.

let [someResult, anotherResult] = await Promise.all([someCall(), anotherCall()]);
로그인 후 복사

오류 처리에 대한 참고 사항

Promise.all은 빠르게 실패합니다. 이는 입력 약속 중 하나라도 거부되면 해당 오류와 함께 전체 작업이 거부된다는 의미입니다.

위 내용은 JavaScript에서 어떻게 비동기 함수를 동시에 실행할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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