如何在会话到期前做一些事情(销毁)

时间:2012-10-31 13:08:36

标签: node.js session express

您好我正在使用expressjs作为我的网络应用程序,我使用session中间件,我的问题是我如何在会话到期之前做些什么?

例如,我在会话中存储了一些内容,并将req.session.cookie.maxAge设置为60000(1分钟),当会话超时时,我想将会话中的数据保存到磁盘,我该怎么做这个?我检查了API,destroy函数仅支持callback ...

谢谢!

1 个答案:

答案 0 :(得分:1)

假设你正在使用connect-session,那就没有会话到期事件。

会话过期:

  • 在客户端上(当cookie过期时)。在提出请求之前无法知道它,因此存在永远不会触发事件的危险。
  • 在会话商店中,通常使用某种形式的生存时间。并非所有会话存储都支持事件,因此通常无法进行通知。

然而,您可以尝试使用setTimeout()实施自己的检查 - 当超时检查会话的到期日期是否足够接近现在并执行您需要做的任何事情。