javascript - express-session框架解读一点疑问
PHP中文网
PHP中文网 2017-04-11 10:28:39
[JavaScript讨论组]

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事件啊,那他这个监听是什么时候被激活勒? 难道无用? 不能理解

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
巴扎黑

这个connct并不是一个实际的东西,只是一个事件名, 实例可以监听任意一个合法的事件名,而能不能接收到消息,是看EventEmitter会不会发出该事件。

EventEmitter.emit('connect')的时候,这里的on('connect', callback)就会触发;但假如EventEmitter.emit('conn'),那么相对应的也要把监听的事件名改为conn

高洛峰

应该是app.use(session())的时候。里面req发出的connected事件

黄舟

那里设置监听connect事件,如果需要可以使用store.emit('connect')触发

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号