话说nodejs是异步调用的,所以无法用return返回结果。
有两种解决方式:callback函数和事件。两种方式相比起来事件的方式更加简洁。
nodejs里的事件主要使用它的events模块,继承EventEmitter。
这里写了一个MonitorEvent类
var util = require("util")
, events = require("events");//EventEmitter通过events模块来访问
function MonitorEvent() {//新建一个类
events.EventEmitter.call(this);
}
util.inherits(MonitorEvent, events.EventEmitter);//使这个类继承EventEmitter
MonitorEvent.prototype.trigger = function(eventName,data) {//定义一个新方法
this.emit(eventName, data);
}
module.exports = MonitorEvent;
然后通过另一个js文件进行生成管理事件类
var MonitorEvent = require('./monitorEvent')
, userListener = new MonitorEvent();
exports.userListener = userListener;
目前想到是这么做的,应该还有更好的方式。