我在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!");
});
我该怎么做?
答案 0 :(得分:3)
您需要obj
EventEmitter
。这可以非常简单地完成 - 只需改变它:
var obj = {};
对此:
var EventEmitter = require('events').EventEmitter;
var obj = new EventEmitter();