【发布时间】:2016-09-06 10:02:58
【问题描述】:
我正在尝试设计一个场景,在触发特定事件时,我希望一些侦听器执行某些任务。尝试同时管理代码的 S.R.P,我希望将侦听器放在不同的源文件中。我想知道这是否可以使用事件发射器。事件发射器是否仅适用于单个源文件?
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);
});
【问题讨论】:
标签: node.js event-handling eventemitter