代码是最好的语言,如下所示:
var async=require('./async');
//同步无关联
function series(){
async.series({
'ma':function(done){
var i=0;
setInterval(function(){
if(3==i){
clearInterval(this);
done(null,'ma结束');
return;
}
console.log("ma中运行"+new Date());
i++;
},1000);
},
'mb':function(done){
var i=0;
setInterval(function(){
if(3==i){
clearInterval(this);
done(null,'mb结束');
return;
}
console.log("mb中运行"+new Date());
i++;
},1000);
}
},
function(err,rs){
console.log(err);
console.log(rs);
}
);
}
//series();
//异步无关联
function parallel(){
async.parallel({
'ma':function(done){
var i=0;
setInterval(function(){
if(3==i){
clearInterval(this);
done(null,'ma结束');
return;
}
i++;
console.log('ma中运行'+new Date());
},1000);
},
'mb':function(done){
var i=0;
setInterval(function(){
if(3==i){
clearInterval(this);
done(null,'mb结束');
return;
}
i++;
console.log('mb中运行'+new Date());
},1000);
}
},
function(err,rs){
console.log(err);
console.log(rs);
}
);
}
//parallel();
function waterfall(){
async.waterfall([
function(done){
var i=0;
setInterval(function(){
if(4==i){
clearInterval(this);
done(null,'ma结束');
return;
}
console.log('ma中运行'+new Date());
i++;
},1000);
},
function(preVal,done){
var i=0;
setInterval(function(){
if(4==i){
clearInterval(this);
done(null,'mb结束');
return;
}
console.log(preVal+new Date());
i++;
},1000);
}
]);
}
waterfall();