表示4火灾事件结束

我正在为会话cookie设置一个最大时间

app.use(session({ secret: process.env.EXPRESS_SECRET, key: 'sid', cookie: {secure: false, maxAge: 3000} })); 

如何使用事件发射器或快速自定义事件(内部附带事件发射器) – 在会话结束时触发事件并将数据发送到视图层?

不知道我得到了你想要达到的目标,但如果你想检查会话已经结束,你可以设置一个会话数据

 if (req.session.isInit !== true) { // The session has been reinitialized // do something here req.session.isInit = true; } 

否则,你可以很容易地实现你自己的会话存储,它将inheritance你select的存储(默认情况下也是inheritanceEventEmitter的快速内存存储),并覆盖重置会话的方法#destroy

 var MemoryStore = session.MemoryStore; var inherits = require('util').inherits; var MyStore = function () { MemoryStore.call(this); }; inherits(MyStore, MemoryStore); MyStore.prototype.destroy = function (sid, fn) { this.emit('resetSession'); MemoryStore.prototype.destroy.call(this, sid, fn); }; var myStore = new MyStore(); myStore.on('resetSession', function () { // do something here }); app.use(session({ store: new MyStore()secret: process.env.EXPRESS_SECRET, key: 'sid', cookie: {secure: false, maxAge: 3000} }));