首頁 >web前端 >js教程 >如何存取扁平 Promise 鏈中的中間 Promise 結果?

如何存取扁平 Promise 鏈中的中間 Promise 結果?

Linda Hamilton
Linda Hamilton原創
2024-12-29 15:33:11518瀏覽

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

訪問扁平Promise 鏈中的中間Promise 結果

為了檢索扁平Promise 鏈中的中間Promise 結果,有必要將鏈分成單獨的

Promise Combinators

而不是依賴 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) { … });
});

Promise.join

Bluebird 提供了專用的Promise.join 函數,作為Promise.all 和.spread 組合的更有效替代方案。

以上是如何存取扁平 Promise 鏈中的中間 Promise 結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn