Heim >Web-Frontend >js-Tutorial >Wie kann ich auf Zwischen-Promise-Ergebnisse in einer flachen Promise-Kette zugreifen?
Um Zwischenergebnisse für Versprechen innerhalb einer Kette mit flachem Versprechen abzurufen, ist es notwendig, die Kette in einzelne aufzuteilen Segmente.
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.
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.
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) { … }); });
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!