Heim > Web-Frontend > js-Tutorial > Wie verwende ich Promise.all, um mehrere Versprechen zu verwalten und abzuwarten?

Wie verwende ich Promise.all, um mehrere Versprechen zu verwalten und abzuwarten?

Mary-Kate Olsen
Freigeben: 2024-12-24 17:37:11
Original
414 Leute haben es durchsucht

How to Use Promise.all to Manage and Await Multiple Promises?

Wie man mit mehreren Versprechen umgeht und auf deren Erfüllung wartet

Bei der Arbeit mit asynchronem Code ist es oft notwendig, mit mehreren Versprechen umzugehen und auf deren Erfüllung zu warten Alles muss abgeschlossen sein, bevor Sie fortfahren. Dieser Artikel führt Sie durch die Verwendung von Promise.all.

Einführung in Promise.all

Promise.all akzeptiert eine Reihe von Versprechen und gibt ein einzelnes Versprechen zurück, das gelöst wird wenn alle Eingabeversprechen gelöst wurden, oder wenn einer von ihnen ablehnt.

Umstrukturierung doSomeAsyncStuff, um ein Versprechen zurückzugeben

Damit doSomeAsyncStuff mit Versprechen funktioniert, ändern Sie es wie folgt:

function doSomeAsyncStuff() {
    return new Promise((resolve) => {
        editor.on('instanceReady', function(evt) {
            doSomeStuff();
            resolve(true);
        });
    });
}
Nach dem Login kopieren

Verwenden Sie Promise.all, um auf alle Async-Aufgaben zu warten

Sobald doSomeAsyncStuff ein Versprechen zurückgibt, können Sie es verwenden Promise.all wartet, bis alle Instanzen abgeschlossen sind. Hier ist eine verbesserte Version Ihres Codes:

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
    });
Nach dem Login kopieren

Dieser Code erstellt aus jedem Aufruf von doSomeAsyncStuff eine Reihe von Versprechen. Promise.all nimmt dieses Array und wartet darauf, dass alle Versprechen aufgelöst werden. Sobald alle Versprechen gelöst sind, wird der Rückruf ausgeführt, sodass Sie Aktionen ausführen können, die von den Ergebnissen der asynchronen Aufgaben abhängen.

Das obige ist der detaillierte Inhalt vonWie verwende ich Promise.all, um mehrere Versprechen zu verwalten und abzuwarten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage