同步编程的思维学node.js的异步好头大。
我想输出
"
a1
a1-end
a2
a2-end
Run OVER
"
就是出不来。
错误的代码如下:
async=require("async");
a1=function(cb){
setTimeout(function(){console.log("a1")}, 2000);
cb(function(){console.log("a1-end")});
}
a2=function(cb){
setTimeout(function(){console.log("a2")}, 2000);
cb(function(){console.log("a2-end")});
}
async.series([
function(cb) {
a1(cb);
},
function(cb) {
a2(cb);
}
],
function(err, results) {
console.log("Run OVER")
});
学习了下,自己回答下吧,但还是理解的不是很深刻:
javascript1
async=require("async"); a1=function(cb){ setTimeout(function(){console.log("a1"); console.log("a1-end"); cb(); }, 5000); } a2=function(cb){ setTimeout(function(){console.log("a2"); console.log("a2-end"); cb(); }, 2000); } async.series([ function(cb) { a1(cb); }, function(cb) { a2(cb); } ], function(err, results) { console.log("Run OVER") });