目前,我有一个Node.js的模块具有以下形式:Node.js的委托功能导入模块
var events = require('events');
var emitter = new events.EventEmitter();
function emitSomething() {
emitter.emit("event");
}
exports.emitSomething = emitSomething;
exports.on = emitter.on;
但是通过on
注册的回调没有得到当我打电话叫emitSomething
。
我能解决这个问题,通过改变最后一行
exports.on = function(event, callback) { emitter.on(event, callback); };
是否有一个原因,我无法委派的功能到另一个模块中定义的函数?
你怎么“注册”你的回调与“开”? – robkuz
@robkuz同样的方式,我将注册与任何EventEmitter的回调,所以如果我的模块被称为“myModule”,我会注册myModule.on(“事件”,功能(){console.log(“调用”);} ); – ahjmorton