node.js socket.io socket.set()undefined属性

时间:2014-01-06 01:12:43

标签: javascript node.js sockets socket.io undefined

我有类似的东西。 这是我的控制器。

    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。

0 个答案:

没有答案