gpt4 book ai didi

javascript - 那么如何将数据推送到 promise 中的数组呢?

转载 作者:行者123 更新时间:2023-11-30 09:20:25 27 4
gpt4 key购买 nike

我一直在想办法。我如何将结果从 promise 循环推送到数组。谁能指出我正确的位置?

const ids = [1, 2, 3]
let results = []

for (let id of ids) {
getLight(id)
.then(light => {
results.push(light)
})
.catch(err => {
console.log(err)
})
}

最佳答案

const ids = [1, 2, 3]
let results = []

Promise.all(
ids.map((id) =>
getLight(id)
.then(light => {
results.push(light)
})
.catch(err => {
console.log(err)
})
)).then(() => console.log(results))

function getLight(id) {
return new Promise((res) => {
setTimeout(res, 1000)
}).then(() => `light for id: ${id}`)
}

使用异步/等待

(async() => {

const ids = [1, 2, 3]
let results = await Promise.all(
ids.map((id) =>
getLight(id))
)

console.log(results);
})()

function getLight(id) {
return new Promise((res) => {
setTimeout(res, 1000)
}).then(() => `light for id: ${id}`)
}

关于javascript - 那么如何将数据推送到 promise 中的数组呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52156282/

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