0
我的Process1()
函數有一個數據庫循環,所以Process2()
和Process3()
多次調用。我應該在async
中使用哪個函數,等待for loop
?Node.Js異步用法
async.waterfall([
function(callback){
Process1(yyy, function(){
//process1 function has a for loop.
callback();
})
},
function(callback){
Process2(function(){
// so process2() is calling more than once
callback();
})
}
], function (callback) {
Process3()
});
處理1():
function Process1(yyy, pass){
user.find({}).exec(function(e, users){
_.each(users, function(_user){
user.findOneAndUpdate(
{'_id' : user_id},
{$inc : {'xxx' : yyy}},
function(e){
!e && pass()
})
})
})
}
它會一直等待'for'循環。它必須。 – Brad 2014-12-03 19:14:54
但是我必須在'process2'之前運行那個數據庫進程。沒有解決方案嗎? @布拉德謝謝。 – Lazy 2014-12-03 19:16:41
這就是你在這裏顯示的代碼會發生什麼。只有在調用第一個閉包中的'callback'時,Process2纔會運行。 – Brad 2014-12-03 19:18:06