这些是我的代码。
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)
完成工作。