node.js – 从对象发出事件

我在node.js中有以下模块:

var obj = {}; obj.prop1 = "value1"; obj.prop2 = "value2"; asyncFunction(function(data) { obj.prop3 = data; // I would like to do: obj.emit("completed"); }); module.exports = obj; 

所以我可以像这样导入它:

 var imp = require('./obj'); imp.on("completed", function() { console.log("Hello!"); }); 

我该怎么做?

您将需要使obj成为EventEmitter 。 这可以做得很简单 – 只需改变这一点:

 var obj = {}; 

对此:

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