Events node.js事件发射器绑定到多个实例
如果我有一个监听事件发射器的类,那么绑定每个实例是错误的做法吗Events node.js事件发射器绑定到多个实例,events,node.js,eventemitter,Events,Node.js,Eventemitter,如果我有一个监听事件发射器的类,那么绑定每个实例是错误的做法吗 function MyClass() { emitter.on('ready', function() { // do something }); } myclass = new MyClass(); 如果我多次调用emitter.on(),它会警告我 (节点)警告:检测到可能的EventEmitter内存泄漏。11 听众补充道。使用emitter.setMaxListeners()增加限制 事件发射
function MyClass() {
emitter.on('ready', function() {
// do something
});
}
myclass = new MyClass();
如果我多次调用emitter.on(),它会警告我
(节点)警告:检测到可能的EventEmitter内存泄漏。11
听众补充道。使用emitter.setMaxListeners()增加限制
事件发射器是否意味着在类实例之外,每个模块只绑定一次
如果这是错误的,那么在触发事件时如何访问类实例
谢谢警告是,您将11个事件侦听器连接到单个事件发射器上的
就绪
事件
通常,当您在单个事件发射器上多次侦听同一事件时,很可能是一个bug。例如,假设您有一个http事件发射器,如果您对请求
事件侦听了11次,这可能是一个错误,那么您只希望侦听并处理一次请求
这是一个调试工具。你可以通过这样做来解决这个问题
emitter.setMaxListeners(500);//或者无论你认为什么是合理的限制
晚到派对,但值得注意的是,setMaxListeners(0)
会完全禁用警告。这与setMaxListeners(无限)