gpt4 book ai didi

javascript - Promise 范围在执行时不同

转载 作者:行者123 更新时间:2023-12-01 01:03:53 27 4
gpt4 key购买 nike

我正在尝试等待 (Promise.all) 一组使用 Sequelize.js 运行数据库查询的 Promises,这从then解析

我兑现我的 promise 如下:

for (furnix in shorthandFurni) {

furniData = shorthandFurni[furnix]
furniSplit = furniData.split(":")

CompletedPromises.push(new Promise(resolve, reject) => {
db.query("...").then(result => {
. . .

// depending on the for-loop
resolve({
otherdbdata: . . .,
furniData: furniData,
furniSplit: furniSplit
})
})
})
}

然后返回(在 for 循环之后)。

return Promise.all(CompletionPromises)

这一切都很好,但问题源于变量 furniDatafurniSplit 是我 promise 的解决方案的一部分......现在,当这段代码在我的服务器上执行,它返回变量 furniSplit 对于所有的 promise 决议都是相同的。

基本上,我想知道如何将 furniSplit 作为变量带入解析函数的范围,以便在 for 循环的每次迭代中给出唯一的数据,而不是最后一个。

感谢您的帮助。

最佳答案

乍一看,这似乎是一个范围问题。尝试一下

const furniSplit = furniData.split(":");

关于javascript - Promise 范围在执行时不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55803676/

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