Трябва да получа информация от сървъра от страната на клиента. Така че от страната на сървъра получих това, когато клиент се свърже за първи път:
socket.on('adduser', function(username){
// misc code, where i set num_player and whatnot
socket.emit('confirmauth', socket.id, socket.num_player, function(data){
console.log(data)
});
// code
}
и от страна на клиента получих това:
var current_player;
socket.on('confirmauth', function(id, username, num, callback) {
current_player = new Player(username,id, num);
console.log(current_player.id); // works
console.log(current_player.num); //works
callback('ok i got it');
});
console.log(current_player.id); //undefined
console.log(current_player.num); //undefined
моят проблем е, че извън гнездото, плейърът не е дефиниран. Изглежда, че javascript не чака моя сокет да извлече данни, преди да продължи.
Опитах се да обвия socket.on в $.when done, но не работи. Опитах се да направя обратно извикване, но мисля, че може да не съм разбрал много добре как трябва да работи. Така че, ако някой от вас има желание да ми помогне, ще съм благодарен
Благодаря ви за отговорите.