首页 > 解决方案 > 如何删除客户端事件侦听器?

问题描述

我有一个<Client>.on函数,我想停止监听这个事件,例如:

bot.on('messageCreate', message => {
  // some code
});

如何停止它并且不再接收此事件?

标签: javascriptdiscord.js

解决方案


我假设bot是 的一个实例Client,它扩展了 Node.js' EventEmitter。您可以使用监听事件(例如messagereadyon并使用删除该监听器offaddListenerremoveListener也是on和的别名off

将侦听器函数存储在变量中,当您需要删除该侦听器时,请使用bot.off(eventName, listener)

const listener = () => {
  // your code here...
}

bot.on('event', listener)

// When you need to remove the listener:
bot.off('event', listener)

推荐阅读