异步并行传递对象

时间:2018-04-14 15:47:27

标签: node.js asynchronous parallel-processing

所以我尝试在用户登录后将数据从两个数据库传递到我的仪表板视图,但是...

  1. 不知道这是否是正确的做法。
  2. 不知道如何访问结果中传递的那两个对象。
  3. router.get("/dashboard", middleware.isLoggedIn, function (req, res) { async.parallel([ function (callback) { callback(null, User.findById(req.user)); }, function (callback) { callback(null, Instrument.find({})); } ], function (err, results) { res.send("all good" + results); console.log(results) }); });

1 个答案:

答案 0 :(得分:0)

试试这样:

router.get("/dashboard", middleware.isLoggedIn, function (req, res) {
    async.parallel([User.findById(req.user), Instrument.find({})
        ],
        function (err, results) {
            if (err) {
                // handle error here
            } else {
                // results[0] will have user object
                // results[1] will have instrument object
                res.send(results); // sending json to client
            }
        });
});