為了檢索扁平Promise 鏈中的中間Promise 結果,有必要將鏈分成單獨的
而不是依賴 a的參數單一回調來取得中間值,建議使用 Promise 組合器來建立所需的複合值。這種方法確保了清晰且結構化的控制流,使模組化變得簡單。
考慮以下範例:
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 }); }
在此範例中,承諾組合器 Promise。 all 用來聚合 a 和 b 的結果。然後,Promise.all 後面的回呼可以存取並利用 resultA 和 resultB 來建構複合值。
Q、Bluebird 等庫,以及提供輔助方法(例如.傳播以簡化多個Promise 結果的處理ES5.
… return Promise.all([a, b]).then(function(results) { results.spread(function(resultA, resultB) { … }); });
Bluebird 提供了專用的Promise.join 函數,作為Promise.all 和.spread 組合的更有效替代方案。
以上是如何存取扁平 Promise 鏈中的中間 Promise 結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!