如何导出nodejs eventemitter

时间:2014-10-01 08:37:05

标签: node.js eventemitter

我在尝试跨多个模块导出/使用eventemitter时遇到了一些严重的麻烦。本质上,我希望将所有监听器和调用函数放在一个名为EventListen.js的模块中。接下来,例如我的Order.js模型,在我保存用户之后,我希望EventListen.js中的函数能够听到事件。我已经阅读了一些教程并尝试以一些不同的方式做到这一点,但没有太多运气......

/**** EventListen.js ****/

var EventEmitter = require('events').EventEmitter;

myeventmodule.on('newuser', function (user) {

  console.log(user);

});
module.exports = myeventemitter;





/**** User.js or EventPublisher.js ****/
var myeventemitter = require('Eventlisten');

schema.post('save', function (user) {

  myeventmodule.emit('newuser', user);

})

1 个答案:

答案 0 :(得分:1)

var EventEmitter = require('events').EventEmitter;

module.exports = new EventEmitter();

exports.emitSomethingLater = function()
 setTimeout(function() {
  module.exports.emit('something');
 }, 1000);
}