Javascript Node.js中可能存在的事件错误?

Javascript Node.js中可能存在的事件错误?,javascript,node.js,Javascript,Node.js,我想我患了一种很奇怪的虫子。EventEmitter可能系统性地破坏了某些内容。自从我开始使用函数一次以来,一切似乎都停止了 以下几行控制台输出演示了发生的情况: var EventEmitter = require('events').EventEmitter; a = new EventEmitter(); a.on("bla", function() { console.log("perm");}); a.once("bla", function() { console.log("this

我想我患了一种很奇怪的虫子。
EventEmitter
可能系统性地破坏了某些内容。自从我开始使用
函数一次以来,一切似乎都停止了

以下几行控制台输出演示了发生的情况:

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.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
>

编程的第一条规则。。。我用最新的windows版本(5.5)测试了它。输出为perm\n这是temp;)您测试过上面的代码吗?首先,v0.5.x分支是一个“不稳定的分支”,因此如果您发现bug,您可能应该坚持使用v0.4.x。第二,我在v0.4.9上运行了相同的代码,它运行得很好,即使有几个连续的发射。在0.4.10上进行了测试,结果与FlashFan相同,因此,看起来不错。它在.js文件中对我有效,但在控制台中无效。是的,我在0.5.4构建之后没有遇到过它。可能只是REPL有点奇怪。