여러 Promise를 처리하고 완료를 기다리는 방법
비동기 코드로 작업할 때 여러 Promise를 처리하고 완료될 때까지 기다려야 하는 경우가 많습니다. 계속하기 전에 모두 완료하세요. 이 문서에서는 Promise.all을 사용하여 이를 달성하는 방법을 안내합니다.
Promise.all 소개
Promise.all은 일련의 약속을 수락하고 해결되는 단일 약속을 반환합니다. 모든 입력 약속이 해결되었을 때 또는 그 중 하나라도 거부되면
promise를 반환하도록 doSomeAsyncStuff 재구성
doSomeAsyncStuff가 promise와 함께 작동하도록 하려면 다음과 같이 수정하세요.
function doSomeAsyncStuff() { return new Promise((resolve) => { editor.on('instanceReady', function(evt) { doSomeStuff(); resolve(true); }); }); }
Promise.all을 사용하여 모든 비동기 대기 작업
doSomeAsyncStuff가 Promise를 반환하면 Promise.all을 사용하여 모든 인스턴스가 완료될 때까지 기다릴 수 있습니다. 다음은 향상된 버전의 코드입니다.
const promises = []; for (let i = 0; i < 5; i++) { promises.push(doSomeAsyncStuff()); } Promise.all(promises) .then(() => { for (let i = 0; i < 5; i++) { doSomeStuffOnlyWhenTheAsyncStuffIsFinish(); } }) .catch((e) => { // Handle errors here });
이 코드는 doSomeAsyncStuff에 대한 각 호출에서 일련의 Promise를 생성합니다. Promise.all은 이 배열을 가져와 모든 Promise가 해결될 때까지 기다립니다. 모든 Promise가 해결되면 then 콜백이 실행되어 비동기 작업의 결과에 따라 작업을 수행할 수 있습니다.
위 내용은 Promise.all을 사용하여 여러 약속을 관리하고 기다리는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!