node.js 中的events事件

设置:
【emitter.eventNames()】
返回一个列出触发器已注册监听器的事件的数组。数组中的值为字符串或符号。

var EventEmitter = require('events');
var emitter = new EventEmitter();
emitter.addListener('test1',function(){
    console.log(1);
})
emitter.addListener('test2',function(){
    console.log(2);
})
console.log(emitter.eventName());   \\['test1','test2']

【emitter.listenerCount(eventName)】
eventName正在监听的事件名
返回正在监听名为eventName的事件的监听器的数量

var EventEmitter = require('events');
var emitter = new EventEmitter();
emitter.addListener('test',function(){
    console.log(1);
})
emitter.addListener('test',function(){
    console.log(1);
})
console.log(emitter.listenterCount('test'));   \\2

【emitter.listeners(eventName)】
返回名为eventName的事件的监听器数组的副本

var EventEmitter = require('events');
var emitter = new EventEmitter();
emitter.addListener('test1',function(){
    console.log(1);
})
emitter.addListener('test2',function(){
    console.log(2);
})
console.log(emitter.listenters('test'));   \\[Function],[Function]
emitter.listeners('test')[0](); \\1

【emitter.setMaxListener(n)】
默认情况下,如果为特定事件添加了超过10个监听器,则EventEmitter会打印一个警告。此限制有助于寻找内存泄漏。但并不是所有的事件都要被限为10个。emitter.setMaxListener()方法允许修改指令的EventEmitter实例的限制。值设为Infinity(或0)表明不限制监听器的数量。返回一个EventEmitter引用,可以链式调用

var EventEmitter = require('events');
var emitter = new EventEmitter();
emitter.setMaxListeners(11);
emitter.on('a',function(){}).on('a',function(){}).on('a',function(){}).on('a',function(){}).on('a',function(){}).on('a',function(){}).on('a',function(){}).on('a',function(){}).on('a',function(){}).on('a',function(){}).on('a',function(){});

【EventEmitter.defaultMaxListers】
EventEmitter实例的默认值可以使用EventEmitter.defaultMaxListeners属性改变
emitter.setMaxListener(n) 优先级优于EventEmitter.defaultMaxListeners

var EventEmitter = require('events');
var emitter = new EventEmitter();
EventEmitter.defaultMaxListeners = 11;
emitter.on('a',function(){}).on('a',function(){}).on('a',function(){}).on('a',function(){}).on('a',function(){}).on('a',function(){}).on('a',function(){}).on('a',function(){}).on('a',function(){}).on('a',function(){}).on('a',function(){});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值