gpt4 book ai didi

javascript - 无法访问 Promise.all 数组后已解决的 Promise 的值

转载 作者:行者123 更新时间:2023-12-01 01:10:42 25 4
gpt4 key购买 nike

Promise.all 之后无法访问已解决的 Promise 的值。正如您在下面的示例中看到的,res.prop打印未定义。我想我可以创建一个包装函数,将解析的值推送到另一个 responses数组,但这似乎不是一个干净的方法。

(async () => {
const responses = []

let counter = 10
while (counter--) {
responses.push(new Promise(resolve => resolve({prop: 10})))
}

await Promise.all(responses)

for (const res of responses) {
console.log(res) // -> prints Promise {prop: 10}
console.log(res.prop) // -> prints undefined
}
})()

最佳答案

你永远不会使用await Promise.all(responses)的返回值。您的 Promise 的返回值由 Promises.all 返回:

(async () => {
const responses = []

let counter = 10
while (counter--) {
responses.push(new Promise(resolve => resolve({prop: 10})))
}

const results = await Promise.all(responses)

for (const res of results) {
console.log(res) // -> prints Promise {prop: 10}
console.log(res.prop) // -> prints undefined
}
})()

关于javascript - 无法访问 Promise.all 数组后已解决的 Promise 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55165914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com