我有一个基于node.js的实时聊天系统。我让用户向服务器发送一个信号告诉服务器他/她在线,所以我会延长他们的会话以防止它过期。默认过期时间为10秒。
现在,我注意到会话在过期后不会被删除。所以当我调用函数时:
Hub.prototype.find = function(username, fn) {
for(var sid in this.sessions) {
var session = this.sessions[sid],
sess_username = session.data('username');
if(sess_username == username) {
fn(session);
return;
}
}
fn(false);
};
它仍然返回会话,意味着他们仍然可以在this.sessions数组中找到会话。如果找到的会话过期,我如何让它返回false?我该怎么说?
非常感谢!