小编use*_*823的帖子

JavaScript,node.js 在继续之前等待 socket.on 响应

我需要从客户端的服务器获取信息。所以在服务器端,当客户端第一次连接时我得到了这个:

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
}
Run Code Online (Sandbox Code Playgroud)

在客户端我得到了这个:

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
Run Code Online (Sandbox Code Playgroud)

我的问题是在套接字之外,没有定义播放器。似乎 javascript 不会等待我的套接字在继续之前检索数据。

我试图将 socket.on 包装在 $.when 中,但它不起作用。我试图做一个回调,但我想我可能不太了解它应该如何工作。所以如果你们中的一个愿意帮助我,我将不胜感激

谢谢您的回答。

javascript sockets wait node.js

4
推荐指数
1
解决办法
6094
查看次数

标签 统计

javascript ×1

node.js ×1

sockets ×1

wait ×1