비동기 함수를 병렬로 실행
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!