NodeJS EventEmitter没有启动

我正在处理一个类WorkflowParent ,它既是一个EventEmitter ,又具有EventEmittertypes的子属性。

我希望这个类从它的子属性中截取一些事件,并用不同的事件名称重新发射它们。

看来我正在做对,但它不工作。 这是我的代码:

 var _ = require('lodash'); var EventEmitter = require('events').EventEmitter; var awsswf = require('aws-swf'); var swf = awsswf.createClient(); var util = require('util'); function WorkflowParent(){ EventEmitter.call(this); var me = this; //Create decider object me.decider = new awsswf.Decider({}); // <---- THIS IS AN EventEmitter //Emit events from `decider` and `actor` objects ['poll'].forEach(function(eventName){ me.decider.on(eventName, function(event){ console.log('decider event "'+eventName+'"', event); // <---- THIS IS EXECUTED var attached = me.emit(eventName+'.decider', event); // emit "poll.decider" event console.log('attached to poll.decider event?', attached); // <---- THIS IS `false` }); }); } util.inherits(WorkflowParent, EventEmitter); WorkflowParent.prototype.start = function(){ this.on('poll.decider', function(event){ console.log('poll.decider event triggered!'); // <---- THIS NEVER RUNS }); this.decider.start(); }; module.exports = new WorkflowParent(); 

事实certificate,您不能在从EventEmitterinheritance的类中使用名为domain的属性。 我把me.domain更名为me._domain ,它工作。

在这里find这个bug的细节: https : //github.com/nodejs/node-v0.x-archive/issues/3922

正如在错误中提到的, 任何具有也是EventEmitter 的域属性的东西都会产生这种冲突。