var func1 = function(cb){
console.log('-----func1');
cb();
}
var func2 = function(){
console.log('--func2');
}
async.waterfall([
function(cb){
//回调函数要放在function中 不要直接用func1作为setTimeout的function
setTimeout(function(){
func1(cb);
},2000);
},
function(cb){ //会延时2秒才执行下面的逻辑
setTimeout(function(){
func2();
},5000);
cb(); //直接执行下面的逻辑 不会等5秒之后
}
],function(err,info){
console.log('end');
});
这是自己今天试验的时候发现的,感觉挺恐怖的,如果真的是要用到定时任务,然后这样写了,就完蛋了.