我正在保存req.session.user = user;//其中 user 包含单个用户对象
然后console.log(req.session.user.user_id);//这在这里有效
但在socket.js文件中,afterDisconnect函数中session.user
不可用。
以下是afterDisconnect函数的代码
afterDisconnect: function(session, socket, cb) { console.log(session); // this is not the one that we used above, it's new. Why? User.findOne({user_id: session.user.user_id}) .exec(function(err, user){ if(err) res.serverError(); user.online = false; user.save(); }); return cb(); }
当用户/套接字断开连接时,它显示以下错误。
warn: Socket disconnected, but session could not be loaded to pass to configured disconnect handler: `sails.config.sockets.onDisconnect()`. Will pass a fake, empty session as argument to lifecycle callback. Details: Error: Session could not be loaded
最佳答案
但是,在 session.js 中将适配器更改为 mongo 是有效的。
关于node.js - 未在 sails.js afterDisconnect() 中显示存储在 session 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34173983/