最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何在lodash forEach中使用promise all并解析它并执行res.send(data)

IT培训 admin 7浏览 0评论

如何在lodash forEach中使用promise all并解析它并执行res.send(data)

我是node.js的新手。我使用lodash forEach进行保存操作。现在问题是res.send()正在多次执行,这会抛出错误,就像标题在发送后无法设置一样。

我听说过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到一组promises,你可以使用Promise.all

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

如何在lodash forEach中使用promise all并解析它并执行res.send(data)

我是node.js的新手。我使用lodash forEach进行保存操作。现在问题是res.send()正在多次执行,这会抛出错误,就像标题在发送后无法设置一样。

我听说过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到一组promises,你可以使用Promise.all

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

评论列表 (0)

  1. 暂无评论