node.js - 从对象发出事件

时间:2012-05-16 00:40:01

标签: node.js asynchronous module eventemitter

我在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!");
});

我该怎么做?

1 个答案:

答案 0 :(得分:3)

您需要obj EventEmitter。这可以非常简单地完成 - 只需改变它:

var obj = {};

对此:

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