gpt4 book ai didi

javascript - 将 async/await 与 for in 循环一起使用

转载 作者:行者123 更新时间:2023-12-04 13:08:59 25 4
gpt4 key购买 nike

我有一个名为 uploadedFiles 的对象。当我运行此代码时,首先运行 console.log,然后运行 ​​for,以便得到空数组。我该如何解决这个问题

 let orderFilesData = [];
for (let key in uploadedFiles) {
uploadedFiles[key].map(async (file) => {
let id = file.id;
const orderFile = await this.orderFileRepository.findOne(id);
orderFile.order = order;
await this.orderFileRepository.save(orderFile);
orderFilesData.push(orderFile.fileUrl);
});
}
console.log(orderFilesData);

最佳答案

由于您没有从 map 返回任何数据,请尝试使用 foreach 循环。由于您使用了 async 函数,因此您在 orderFilesData 中设置的将是一个 promise 数组,您必须 await 它们。最简单的解决方案是使用 Promise.all 数组 (console.log(Promise.all(orderFilesData)) 应该做你想做的)

关于javascript - 将 async/await 与 for in 循环一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67691514/

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