[英]Possible EventEmitter memory leak detected. Discord.js
While my bot was running while I was asleep this warning came up saying:当我睡着时我的机器人正在运行时,出现了这个警告:
MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 guildMembersChunk listeners added to [Client]. Use emitter.setMaxListeners() to increase limit
Now my bot is in a decent amount of servers, How do I fix this?现在我的机器人在相当数量的服务器中,我该如何解决这个问题?
I looked around and saw this:我环顾四周,看到了这个:
require('events').EventEmitter.defaultMaxListeners = 15;
Would this be the solution?这会是解决方案吗?
A maximum of 10
listeners can be registered for any event by default
. by default
最多可为任何事件注册10
侦听器。 This limit can be changed for individual emitter instances using setMaxListener()
method, and the value can also be set to Infinity
by setting maxListeners count to 0
.可以使用
setMaxListener()
方法为单个发射器实例更改此限制,也可以通过将 maxListeners count 设置为0
将值设置为Infinity
。 Since you have set the limit to 15
and whenever the listener's count exceeds this limit you will see the EventEmitter memory leak detected
error.由于您已将限制设置为
15
并且只要侦听器的计数超过此限制,您就会看到EventEmitter memory leak detected
错误。 Instead of setting it to 15
listeners set it to Infinity
and see the behavior.与其将其设置为
15
侦听器,不如将其设置为Infinity
并查看行为。
For example:例如:
const { EventEmitter } = require('events');
const emitter = new EventEmitter();
//Setting the listeners to Infinity
emitter.setMaxListeners(0);
//To validate the number of listeners listening to event you may log the below line
emitter.listenerCount('eventName');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.