Heim >Web-Frontend >js-Tutorial >Wie kann ich auf Zwischen-Promise-Ergebnisse in einer flachen Promise-Kette zugreifen?

Wie kann ich auf Zwischen-Promise-Ergebnisse in einer flachen Promise-Kette zugreifen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-29 15:33:11508Durchsuche

How Can I Access Intermediate Promise Results in a Flat Promise Chain?

Zugriff auf Ergebnisse von Zwischenversprechen in einer Kette mit flachem Versprechen

Um Zwischenergebnisse für Versprechen innerhalb einer Kette mit flachem Versprechen abzurufen, ist es notwendig, die Kette in einzelne aufzuteilen Segmente.

Versprechenskombinatoren

Anstatt sich auf den Parameter eines einzelnen Rückrufs zu verlassen, um Zwischenwerte zu erhalten, Es wird empfohlen, Versprechenskombinatoren zu verwenden, um den gewünschten zusammengesetzten Wert zu erzeugen. Dieser Ansatz gewährleistet einen klaren und strukturierten Kontrollfluss und erleichtert die Modularisierung.

Beispiel

Betrachten Sie das folgende Beispiel:

function getExample() {
    var a = promiseA(…);
    var b = a.then(function(resultA) {
        // some processing
        return promiseB(…);
    });
    return Promise.all([a, b]).then(function([resultA, resultB]) {
        // more processing
        return // something using both resultA and resultB
    });
}

In diesem Beispiel der Promise-Kombinator Promise. all wird verwendet, um die Ergebnisse von a und b zu aggregieren. Der Rückruf, der auf Promise.all folgt, kann dann auf resultA und resultB zugreifen und diese verwenden, um den zusammengesetzten Wert zu erstellen.

Hilfsmethoden

Bibliotheken wie Q, Bluebird und when stellen Hilfsmethoden wie . verbreiten, um die Verarbeitung mehrerer Versprechen zu vereinfachen ES5.

…
return Promise.all([a, b]).then(function(results) {
    results.spread(function(resultA, resultB) { … });
});

Promise.join

Bluebird bietet eine spezielle Promise.join-Funktion als effizientere Alternative zur Promise.all- und .spread-Kombination.

…
return Promise.join(a, b, function(resultA, resultB) { … });

Das obige ist der detaillierte Inhalt vonWie kann ich auf Zwischen-Promise-Ergebnisse in einer flachen Promise-Kette zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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