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事件啊,那他这个监听是什么时候被激活勒? 难道无用? 不能理解
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
这个connct并不是一个实际的东西,只是一个
事件名, 实例可以监听任意一个合法的事件名,而能不能接收到消息,是看EventEmitter会不会发出该事件。当
EventEmitter.emit('connect')的时候,这里的on('connect', callback)就会触发;但假如EventEmitter.emit('conn'),那么相对应的也要把监听的事件名改为conn应该是app.use(session())的时候。里面req发出的connected事件
那里设置监听connect事件,如果需要可以使用store.emit('connect')触发