如何整合多个异步进程

时间:2017-08-10 12:36:00

标签: javascript node.js mongoose foreach callback

这些是我的代码。

var myOrderIds = req.user.orders; // array of order document's ObjectId
var myReserv = []; // I want to put specific order into myRerv[] by mongoose findOne()

var showReservList = function(oids, callback) {
    oids.forEach(function(oid) {
        database.OrderModel.findOne({'_id' : oid, 'isCompleted' : false},function(err, docs) {
             callback(docs);
        });
    });
}

showReservList(myOrderIds, function (res) {
    myReserv.push(res);
});

console.log(myReserv); // empty

问题是myReserv []为空。 我想知道如何整合多个异步进程而不仅仅是处理单个进程的完成。 (这是常见的情况。) console.log(myReserv)的执行速度比myRserv.push(res)快。我想推迟console.log(myRresrv),直到myRserv.push(res)完成工作。

0 个答案:

没有答案