gpt4 book ai didi

javascript - 如何在 lodash forEach 中使用 Promise all 并解决它并执行 res.send(data)

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

我是 Node.js 新手。我使用 lodash forEach 进行保存操作。现在的问题是 res.send() 执行多次,这会抛出错误,例如发送后无法设置 header 。

我听说过 PromiseAll 但我不知道如何实现它。我阅读了文档,但我认为我做错了什么。如果有人可以提供帮助,那将非常有帮助。

_.forEach(req.body ,function(value){
gridObj.save(value)
.then((results) => {
var data = {
status: 200,
message: 'Record save successfully ',
data: results,
};
console.log(`data saved successfully ${JSON.stringify(results)}`);
res.send(data);
}).catch((error) => {
console.log(`error in save ${error}`);
res.send(error);
})
});

我希望数据会被一一存储在mongoDb中。预先感谢您

最佳答案

如果您使用 Object.entries 而不是 _.forEach.map 来表示 Promise 数组,则可以使用 Promise.all 对此:

 Promise.all(
Object.entries(req.body).map(value => gridObj.save(value))
).then(/*..*/).catch(/*...*/)

关于javascript - 如何在 lodash forEach 中使用 Promise all 并解决它并执行 res.send(data),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55889438/

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