假设节点快速会话保存在应用程序中(意味着它们不一定是从传入的req
访问的),如何检查这些会话是否已过期?什么是正确的测试?
答案 0 :(得分:0)
假设您已在会话中保存了用户名。 req.session.name='pankti'
当您尝试获取它并且未定义时,它已过期。req.session.name == 'undefined'
答案 1 :(得分:-1)
会话过期时没有发出任何事件(遗憾的是......)。 但是,如果会话保存在会话存储中,则可以在会话创建时实现setTimeout(),并在会话到期/即将到期时触发事件。
示例:
//Lets say your session's ttl is 600 seconds
//On session creation :
setTimeout(function(){
//send event
},600000);
根据会话商店中存储的信息,您可以使用用户ID,会话ID或其他任何内容。
您可以查看at this SO question以获取更多信息(虽然它使用已弃用的连接,但概念是相同的。)