我有类似的东西。 这是我的控制器。
new singleton('User', function(model){
model.find({username:data.username, password:_pass}, function(err,user){
if (user.length==1)
{
socket.set('taxiId',user[0].id);
cb(true);
}
else
cb(false);
});
});
如果我设置套接字属性,如socket.set('name',value,function(){cb});
我在这里未定义
auth.authentificate(data, socket, function(logged){
if (logged)
{
logs.login(data,socket);
console.log(socket.taxiId);
socket.emit('authOk',{err:'Ziaden error'});
}
我尝试用这个
设置它socket.set('taxiId', user[0].id, function(){cb(true);});
但没有任何事情发生
否则,如果我将属性设置为
socket.taxiId = user[0].id;
它的效果很好。
但这是asynchrone编码中的一个问题。
如果一个setter socket.taxiId = 1;
被称为第二个getter socket.taxiId;
返回undefined。