代码是最好的语言,如下所示:

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();


Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐