在 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中文网其他相关文章!