Node.js 什么';在这种情况下,removeListener的正确用法是什么?
Bot Discord图书馆Node.js 什么';在这种情况下,removeListener的正确用法是什么?,node.js,Node.js,Bot Discord图书馆 bot.on('messageCreate', msg => { // do some stuff bot.removeListener('messageCreate', msg); }); 我经常遇到的一个错误是侦听器必须是一个函数。 messageCreate在收到消息时触发,msg是对消息类的引用,其中包含消息id、作者等 我试图得到的是bot正在等待用户的特定回复,例如Yes或No。如果bot是节点的EventEmitter,则可以使
bot.on('messageCreate', msg => {
// do some stuff
bot.removeListener('messageCreate', msg);
});
我经常遇到的一个错误是侦听器必须是一个函数
。
messageCreate在收到消息时触发,msg是对消息类的引用,其中包含消息id、作者等
我试图得到的是bot正在等待用户的特定回复,例如Yes或No。如果
bot
是节点的EventEmitter
,则可以使用once
方法而不是on
方法,以便在调用侦听器一次后自动删除侦听器
bot.once('messageCreate', msg => {
// do some stuff
// you don't need to remove the listener by yourself!
});
为了直接回答您的问题,RemovelListener
的第二个参数必须是您在上传递给的侦听器函数
var listener = msg => {
// do some stuff
bot.removeListener('messageCreate', listener);
};
bot.on('messageCreate', listener);
啊,我明白了。这比我想象的要简单得多。工作如期!在新版本的API中,什么将取代bot.once函数?我不确定Discord API。你有它的API文档的链接吗?