我想我一直在遭受一个非常奇怪的错误。 EventEmitter
可能会出现系统性问题。自从我开始使用once
函数以来,事情似乎已经过时了。
以下控制台输出行演示了正在发生的事情:
var EventEmitter = require('events').EventEmitter;
a = new EventEmitter();
a.on("bla", function() { console.log("perm");});
a.once("bla", function() { console.log("this is temp"); });
a.emit('bla');
您可能希望调用这两个事件,但在我的控制台上输出为:
> a.emit("bla")
perm
perm
true
发生了什么事?
我也尝试在脚本中使用代码,这似乎有效,但我感觉once
函数在某种程度上导致了我服务器上的奇怪故障。
有没有遇到过这个?
[测试版本0.5.1和0.5.3]
答案 0 :(得分:0)
在0.5.10上为我工作。我很确定你输入的内容不是你发布的内容 - 第二个“烫发”来自哪里?再试一次。
$ node
> var EventEmitter = require('events').EventEmitter;
> a = new EventEmitter();
{}
> a.on("bla", function() { console.log("perm");});
{ _events: { bla: [Function] } }
> a.once("bla", function() { console.log("this is temp"); });
{ _events: { bla: [ [Function], [Object] ] } }
> a.emit('bla');
perm
this is temp
true
>