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

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

DDD
DDD原創
2025-01-02 13:23:40533瀏覽

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

訪問 Promise 鏈中的中間 Promise 結果

在 Promise 鏈中,每個回呼都會接收前一個 Promise 的結果。然而,訪問鏈中的中間結果可能具有挑戰性。

打破鏈

要存取中間結果,請考慮將鏈分成更小的段。不要將回調附加到單一承諾,而是將多個回調附加到同一個承諾。這可以在需要時提供對結果值的存取。

Promise 組合器

Promise 庫提供組合器,例如Promise.all(),它將多個Promise 組合成一個單一承諾,以包含每個結果的陣列來解析

範例

假設您有Promise A 和 B,而您希望在 Promise B 的回呼中存取 Promise A 的結果:

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
    });
}

在 ES6 中,您可以使用陣列解構來存取最終回調中的結果。在 ES5 中,您可以使用 .spread() 輔助方法或 Promise.join() 來獲得更清晰的語法。

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

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