У меня есть три файла:
my_emitter.js : экземпляр объекта EventEmitter для совместного использования (давайте назовем это «myEmitter»)
listener.js : где myEmitter.on () называется
registration_handler.js : где myEmitter.emit () называется
Слушатель не получает отправленное событие.
Используя следующий код, я запускаю сначала node listener.js
, а затем node registration_handler.js
second.
my_emitter.js
const EventEmitter = require('events');
const myEmitter = new EventEmitter();
exports.emitter = myEmitter;
listener.js
const emitterFile = require('./my_emitter');
const myEmitter = emitterFile.emitter;
myEmitter.on('test', (res) => {
console.log('worked!');
});
//within 5s, let's run registration_handler.js to emit the event
setTimeout(console.log, 5000, 'Done');
registration_handler.js
const emitterFile = require('./my_emitter');
const myEmitter = emitterFile.emitter;
myEmitter.emit('test');
Консоль (из listener.js):
Ожидаемое
$ node listener.js
worked!
Done
Фактический
$ node listener.js
Done