码迷,mamicode.com
首页 > Web开发 > 详细

nodeJs---emitter模块(模拟封装)

时间:2018-05-15 00:30:48      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:ons   执行   tst   成功   str   test   连接   eve   str1   

class EventEmitter {
	constructor() {
		this.emitter = {}
	}
	on(eventName,cb) {
		if (this.emitter[eventName]) {
			this.emitter[eventName].push(cb)
		} else {
			this.emitter[eventName] = []
			this.emitter[eventName].push(cb)
		}
	}
	emit(eventName,...str) {
		if (this.emitter[eventName]) {
			for (let item of this.emitter[eventName]) {
				item(...str)
			}
		} else {
			throw eventName + ‘is not definde‘;
		}
	}
}

const eventEmitter = new EventEmitter();

const connectHandler = (str,str1) => { 	
	console.log(‘连接成功1。‘+str,str1);

	eventEmitter.emit(‘data_received‘);
}

eventEmitter.on(‘connection‘, connectHandler);
eventEmitter.on(‘connection‘, (str,str1) => {
	console.log(‘连接成功2。‘+str,str1);
});

eventEmitter.on(‘data_received‘, () =>{
	console.log(‘数据接收成功。‘)
});

eventEmitter.emit(‘connection‘,‘teststr‘,‘xxxxxx‘);

console.log(‘程序执行完毕。‘)

  

nodeJs---emitter模块(模拟封装)

标签:ons   执行   tst   成功   str   test   连接   eve   str1   

原文地址:https://www.cnblogs.com/kingkun/p/9038676.html

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