我在发射器上有两个不同的事件,我需要动态设置maxlistener计数。我已经浏览了许多教程和文档,但无法理解计数是否将设置为发射器上的每个单独事件,或者是否将设置为特定计数的所有事件。
emitter.on('event1', function(){})
emitter.on('event2', function(){})
emitter.setMaxListeners(15);
当我们使用上面的代码时,将为event1和event2设置的最大侦听器数量组合为15,或者它将每个单独事件的侦听器计数设置为15。
例如:
Case 1:
event1 -- Max 15 listeners
event2 -- Max 15 listeners
OR
Case 2:
event1 listener + event2 listener -- Max 15 listeners?
是否设置了案例1或案例2?
非常感谢任何帮助/建议。
谢谢。
答案 0 :(得分:2)
默认情况下,如果超过10,EventEmitters将打印警告 为特定事件添加了侦听器。
这意味着限制是每个事件的均衡器。
emitter.setMaxListeners()方法允许修改限制 对于此特定的EventEmitter实例。该值可以设置为 无穷大(或0)表示无限数量的听众。
参考here
Eventemitter setMaxListener
带来更多亮点。
默认情况下,任何一个都可以注册最多10个侦听器 事件。可以为单个EventEmitter实例更改此限制 使用emitter.setMaxListeners(n)方法。
参考here。
虽然文档中没有明确说明,但可以从上述两个链接中暗示