setMaxListeners 警告会影响我的 discord.js 代码吗?
Does the setMaxListeners warning affect my discord.js code?
当我使用 nodemon 重新启动我的代码时,我收到了以下警告:
(node:11576) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 message listeners added. Use emitter.setMaxListeners() to increase limit.
我认为这是因为我有超过 10 个 client.on();
个脚本。这是我的逻辑:如果 client
是 运行 的 EventEmitter
,并且每个 client.on
都是 Listener
,那么将有超过 10 个听众。
我尝试只输入 emitter.setMaxListeners(Infinity)
,但出现以下错误(请注意,行号可能不准确):
/home/discord/Desktop/channel.js:9
emitter.setMaxListeners
^
ReferenceError: emitter is not defined
at Object.<anonymous> (/home/discord/Desktop/channel.js:9:1)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at Startup (internal/bootstrap/node.js:283:19)
at bootsrapNodeJSCore (internal/bootstrap/node.js:743:3)
[nodemon] app crashed - waiting for file changes before starting...
我应该添加什么来解决这个问题?我担心我的某些 client.on
下标可能无法正常工作 运行.
在你的情况下 emitter
是你的 Discord.js 客户。
所以你可以使用它来允许 Infinity 监听器:
client.setMaxListeners(0);
但这并不可取,因为您的代码中可能存在内存泄漏。
当我使用 nodemon 重新启动我的代码时,我收到了以下警告:
(node:11576) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 message listeners added. Use emitter.setMaxListeners() to increase limit.
我认为这是因为我有超过 10 个 client.on();
个脚本。这是我的逻辑:如果 client
是 运行 的 EventEmitter
,并且每个 client.on
都是 Listener
,那么将有超过 10 个听众。
我尝试只输入 emitter.setMaxListeners(Infinity)
,但出现以下错误(请注意,行号可能不准确):
/home/discord/Desktop/channel.js:9
emitter.setMaxListeners
^
ReferenceError: emitter is not defined
at Object.<anonymous> (/home/discord/Desktop/channel.js:9:1)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at Startup (internal/bootstrap/node.js:283:19)
at bootsrapNodeJSCore (internal/bootstrap/node.js:743:3)
[nodemon] app crashed - waiting for file changes before starting...
我应该添加什么来解决这个问题?我担心我的某些 client.on
下标可能无法正常工作 运行.
在你的情况下 emitter
是你的 Discord.js 客户。
所以你可以使用它来允许 Infinity 监听器:
client.setMaxListeners(0);
但这并不可取,因为您的代码中可能存在内存泄漏。