node 事件模板 EventEmitter 的应用

var eventEmitter  = require('events').EventEmitter;
var life = new eventEmitter();

//官方建议一个事件不要超过10个监听,超过后会出现一个异常,但这个可以手动改

life.setMaxListeners(11); //改成 11 个


function water(who){
	console.log(who + 'No1');
}

life.on('No1',water);   //监听 No1 事件,然后回调water方法
life.on('No2',function(who){ 
	console.log(who + 'No2事件1');
})
life.on('No1',function(who){ 
	console.log(who + 'No1.2');
})
life.on('No1',function(who){ 
	console.log(who + 'No1.3');
})
life.on('No1',function(who){ 
	console.log(who + 'No1.4');
})

//删除一个监听事件

life.removeListener('No1',water);

//删除所有 , 注意 : 不传参数会把所有监听都删除掉,包括 No1 No2 等等……,传参会把相应的删除掉

life.removeAllListeners('No1');


//查看 No1 有几个监听,两种方法都可以
console.log(life.listeners('No1').length) 
console.log(eventEmitter.listenerCount(life,'No1'))

life.emit 是触发事件会返回一个布尔值 ,如果有监听事件,会返回 true ,没有则返回 false

var  listener1 = life.emit('No1','我是');    //触发 No1 事件   true
var  listener2 = life.emit('No2','我是');   true
var  listener3 = life.emit('No3','我是');   false



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值