关闭

node.js——async同步异步

131人阅读 评论(0) 收藏 举报
分类:

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

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


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:148581次
    • 积分:2918
    • 等级:
    • 排名:第13676名
    • 原创:135篇
    • 转载:107篇
    • 译文:0篇
    • 评论:4条
    最新评论