码迷,mamicode.com
首页 > 其他好文 > 详细

eventProxy

时间:2016-12-17 23:16:30      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:.com   span   ror   功能   function   解决   his   height   log   

1.功能

解决javascript回调地狱

fs.readFile(‘./file1.txt‘, ‘utf8‘, function(err, content1){
	fs.readFile(‘./file2.txt‘, ‘utf8‘, function(err, content2){
		fs.readFile(‘./file3.txt‘, ‘utf8‘, function(err, content3){
			console.log(content1+content2+content3)
		});
	});
})

安装eventProxy 

npm install eventproxy

 

2.常用方法

①解决回调方法

emit:触发事件

after

all:告诉它你要监听哪些事件,并给它一个回调函数。ep.all(‘event1‘, ‘event2‘, function (result1, result2) {})。

var fs = require(‘fs‘);
var EventProxy = require(‘eventProxy‘);
var ep = new EventProxy();

ep.all([‘read_file1‘, ‘read_file2‘, ‘read_file3‘], function(content1, content2, content3){
	console.log(content1+content2+content3)
});
ep.after(‘read_file‘, 3, function(contents){
	console.log(contents.join());
});

fs.readFile(‘./file1.txt‘, ‘utf8‘, function(err, content1){
	ep.emit(‘read_file‘, content1+‘ooxx‘);
})
fs.readFile(‘./file2.txt‘, ‘utf8‘, function(err, content2){
	ep.emit(‘read_file‘, content2);
})
fs.readFile(‘./file3.txt‘, ‘utf8‘, function(err, content3){
	ep.emit(‘read_file‘, content3);
})

技术分享

 

  

②优化代码的方法

down

throw

fail

ep.fail(function(err){
	console.log(‘this is fail function‘);
	console.log(err);
});

fs.readFile(‘./file4.txt‘, ‘utf8‘, function(err, content){
	if(err){
		ep.throw(err);
		//ep.emit(‘error‘, err);
	}
})

技术分享

 

  

 

eventProxy

标签:.com   span   ror   功能   function   解决   his   height   log   

原文地址:http://www.cnblogs.com/ganchuanpu/p/6193167.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!