gpt4 book ai didi

node.js - Node removeListener 不起作用

转载 作者:搜寻专家 更新时间:2023-10-31 23:28:48 25 4
gpt4 key购买 nike

尝试使用此代码删除监听器:

var EventEmitter = require('events').EventEmitter;

var emitter = new EventEmitter;

emitter.on('message', function(text)
{
console.log(text);
});

setInterval(function()
{
emitter.emit('message', Date.now());
}, 300);

setTimeout(function()
{
emitter.removeListener('message', function()
{
console.log('removing "message" listener');
});
}, 1000);

不打破区间,我的 Node 版本:v0.8.11

阅读文档我觉得没问题: http://nodejs.org/api/events.html#events_emitter_removelistener_event_listener

最佳答案

您需要将相同的函数传递给removeListener,因此在这种情况下您不能使用匿名函数。

这是一个工作版本:

var EventEmitter = require('events').EventEmitter;

var emitter = new EventEmitter;

function listener(text) {
console.log(text);
}

emitter.on('message', listener);

setInterval(function() {
emitter.emit('message', Date.now());
}, 300);

setTimeout(function() {
console.log("removing");
emitter.removeListener('message', listener);
}, 1000);

关于node.js - Node removeListener 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15075793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com