Javascript 如何在node.js中检测会话是否过期

Javascript 如何在node.js中检测会话是否过期,javascript,node.js,session,Javascript,Node.js,Session,我的网站有一个node.js livechat系统。默认情况下,用户的会话将在30秒后过期,除非他们调用一些函数让服务器知道他们仍然在线,否则服务器将延长他们的会话 但是,我发现会话在过期后不会被删除。调用函数时: Hub.prototype.find = function(username, fn) { for(var sid in this.sessions) { var session = this.sessions[sid], //session still

我的网站有一个node.js livechat系统。默认情况下,用户的会话将在30秒后过期,除非他们调用一些函数让服务器知道他们仍然在线,否则服务器将延长他们的会话

但是,我发现会话在过期后不会被删除。调用函数时:

Hub.prototype.find = function(username, fn) {
    for(var sid in this.sessions) {
        var session = this.sessions[sid],   //session still found even expired...
            sess_username = session.data('username');
        if(sess_username == username) {
            fn(session);
            return;
        }
    }
    fn(false);
};
现在即使会话已过期,仍然可以找到“会话”。为什么?如何在条件中写入,使其不会找到任何过期的会话


多谢各位

确保在希望会话过期时使用
req.session.destroy()
,以便将其删除


希望有帮助

谢谢,我也想这样做,但是,会话本身会过期,我不知道在这种情况下如何销毁它。运行cron?确实不需要删除会话,只需在应用程序中访问会话之前确保会话未过期即可。