node.js事件发射器绑定到多个实例



如果我有一个监听事件发射器的类,那么绑定每个实例是错误的做法吗?

function MyClass() {
    emitter.on('ready', function() {
    // do something
    });
}
myclass = new MyClass();

如果我多次调用emitter.on(),它会警告我.

(节点)警告:检测到可能的EventEmitter内存泄漏。11听众补充道。使用发射器.setMaxListeners()来增加限制。

事件发射器是否意味着每个模块在类实例之外只绑定一次?

如果这是错误的,那么当事件被触发时,我如何访问类实例?

感谢

警告是,将11个事件监听器附加到单个事件发射器上的ready事件。

通常,当您在单个事件发射器上多次侦听同一事件时,很可能是一个错误。例如,假设您有一个http事件发射器,如果您侦听request事件11次,这可能是一个错误,那么您只想侦听并处理请求一次。

这是一个调试工具。你可以通过绕过这个问题

emitter.setMaxListeners(500); // or whatever you think is a sensible limit

最新更新