Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MaxListenerSexceedawarning:检测到可能的事件发射器内存泄漏。11添加到[客户端]的voiceStateUpdate侦听器_Javascript_Node.js_Memory Leaks_Discord.js - Fatal编程技术网

Javascript MaxListenerSexceedawarning:检测到可能的事件发射器内存泄漏。11添加到[客户端]的voiceStateUpdate侦听器

Javascript MaxListenerSexceedawarning:检测到可能的事件发射器内存泄漏。11添加到[客户端]的voiceStateUpdate侦听器,javascript,node.js,memory-leaks,discord.js,Javascript,Node.js,Memory Leaks,Discord.js,我这里有一个代码,可以检测机器人是否被踢出语音聊天 const serverQueue=message.client.queue.get(message.guild.id); const botvc=message.guild.me.voice.channel; 如果(botvc==null){ 如果(服务器队列===未定义){ 常量队列构造={ 连接:空, 歌曲:[], 第2卷, 演奏:是的, }; message.client.queue.set(message.guild.id,queue

我这里有一个代码,可以检测机器人是否被踢出语音聊天

const serverQueue=message.client.queue.get(message.guild.id);
const botvc=message.guild.me.voice.channel;
如果(botvc==null){
如果(服务器队列===未定义){
常量队列构造={
连接:空,
歌曲:[],
第2卷,
演奏:是的,
};
message.client.queue.set(message.guild.id,queueConstruct);
const newqueue=message.client.queue.get(message.guild.id);
if(newqueue.songs[0]!==未定义){
newqueue.songs[0]。循环=0;
message.client.queue.delete(message.guild.id);
}否则{
message.client.queue.delete(message.guild.id);
}
}否则{
serverQueue.songs[0]。循环=0;
serverQueue.songs=[];
message.client.queue.delete(message.guild.id);
}
}
这是discord.js中的
voicestateupdate
事件,它位于事件处理程序中


代码是否有任何错误或修复内存泄漏的方法?

您的代码中可能有其他
voiceStateUpdate
侦听器,或者您的代码多次添加侦听器(调用
client.on('voiceStateUpdate',listener)
)。警告(不仅针对Discord.js'
Client
)会出现在所有的事件中)告诉您,为一个事件添加太多侦听器(默认值为10)可能是一个错误

调试时,请尝试在
客户机上添加断点。在('voiceStateUpdate',…
)上,查找何时添加侦听器。或者,尝试使用该标志查看内存泄漏警告的堆栈跟踪

如果您确实需要超过10个
voiceStateUpdate
侦听器(不太可能),请使用更改事件的最大侦听器数:

//将事件的最大侦听器数更改为11
client.setMaxListeners(11)