Я пытаюсь разработать сценарий, в котором при запуске определенного события я хотел, чтобы несколько слушателей выполняли какую-то задачу. Пытаясь также управлять кодом SRP, я хочу, чтобы слушатели находились в другом исходном файле. Я хочу знать, возможно ли это с помощью эмиттера событий. Генератор событий работает только с одним исходным файлом?
var events = require('events');
var em = new events.EventEmitter();
exports.saveScheme = function (req, res) {
var dal = dalFactory.createDAL(constants.SCHEME);
return new Promise.resolve(dal.PromiseSave(req.body))
.then(function(data){
var schemeId = data._id;
em.addListener('FirstEvent', function (data) {
console.log('First subscriber: ' + data);
});
em.emit('FirstEvent', 'Test event emitter');
}).catch(function(error){
console.log(error);
});
};
Другой мой исходный файл
var emitter = require('events').EventEmitter;
var em = new emitter();
//Subscribe FirstEvent
em.on('FirstEvent', function (data) {
console.log('First subscriber: ' + data);
});