node.js 删除事件侦听器不起作用
我试图删除一些像这样的事件侦听器:
var callback = function () {
someFun(someobj)
}
console.log(callback)
e.once("5", callback);
uponSomeOtherStuffHappening('',
function() {
console.log(e.listeners("5")[0])
e.removeListener(inTurns, callback)
})
但它不起作用。
第一个控制台日志显示:
[Function]
第二个控制台日志显示:
[Function: g]
为什么它们不同?
I'm trying to remove some eventlistener like this:
var callback = function () {
someFun(someobj)
}
console.log(callback)
e.once("5", callback);
uponSomeOtherStuffHappening('',
function() {
console.log(e.listeners("5")[0])
e.removeListener(inTurns, callback)
})
But it doesn't work.
The first console log shows:
[Function]
The second one shows:
[Function: g]
Why are they different?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Once() 的实现插入一个函数 g() 以在一次调用后删除监听器。
来自 events.js:
所以,如果你这样做:
它们会是相同的。
The implementation of once() inserts a function g() to remove your listener after one call.
From events.js:
So, if you did this:
they'd be the same.