使用Node.js的EventEmitter没有子类

是否有可能在两个不同的文件中使用Node.js EventEmitter,而无需inheritanceEventEmitter?

我试过这个:

File1.js

var EventEmitter = require('events').EventEmitter; var emitter = new EventEmitter(); emitter.emit('eventFromFile1'); 

File2.js

 var EventEmitter = require('events').EventEmitter; var emitter = new EventEmitter(); emitter.on('eventFromFile1', function(){ console.log('Received event'); // Never happens }); 

这不起作用。 我想这是因为事件发生器的两个实例存在,他们没有连接。

如果没有inheritanceEventEmitter,我可以实现类似的行为吗?

(我是Node.js的新手)

不需要子类,你只需要使用相同的事件发射器。 在你的例子中,你有两个不同的事件发射器。

喜欢这个:

File1.js

 var EventEmitter = require('events').EventEmitter; var emitter = module.exports.emitter = new EventEmitter(); emitter.on('my_event', function(){ console.log('Received event'); // Never happens }); 

File2.js

 var emitter = require('./File1.js').emitter; emitter.emit('my_event');