store 继承了event 事件
function Store () {
EventEmitter.call(this)
}
/**
* Inherit from EventEmitter.
*/
util.inherits(Store, EventEmitter)
memory 继承了
module.exports = MemoryStore
/**
* A session store in memory.
* @public
*/
function MemoryStore() {
Store.call(this)
this.sessions = Object.create(null)
}
index.js中
// get the session store
var store = opts.store || new MemoryStore();
......
store.on('disconnect', function ondisconnect() {
storeReady = false
});
store.on('connect', function onconnect() {
storeReady = true
});
//这里不开始不能理解
上面代码 两次继承都只是 继承了基本的事件,但是nodejs中单纯的event 本身并没有 connect事件啊,那他这个监听是什么时候被激活勒? 难道无用? 不能理解
这个connct并不是一个实际的东西,只是一个
事件名
, 实例可以监听任意一个合法的事件名,而能不能接收到消息,是看EventEmitter会不会发出该事件。当
EventEmitter.emit('connect')
的时候,这里的on('connect', callback)
就会触发;但假如EventEmitter.emit('conn')
,那么相对应的也要把监听的事件名改为conn