这个问题涉及 NodeJS 中的 WebSocket API(即 var webSocketServer = require('websocket').server;)。
function Game(canvas) {
this.wArray;
this.runConnection();
// I want to be able to see changes in variables at this point
console.log(this.wArray[1][2]); // is out of scope or something
}
_p = Game.prototype;
_p.runConnection = function() {
this.connection = new WebSocket('ws://localhost:1337');
this.connection.onmessage = function (message) {
this.wArray = JSON.parse(message.data);
};
// code here runs before code inside onmessage, it must be asychronous
};
因此,当我收到来自服务器的消息时,我应该能够接收该消息并更新我的代码中的一些变量等。目前,似乎我所能做的就是更新 onmessage 函数内部的内容。所有在线示例都只是向人们展示了在 onmessage 中使用 console.log()。我希望服务器能够发送我的客户端信息,然后在游戏运行时使用该信息更新游戏的某些方面。我认为 onmessage() 存在某种程度的异步性。
请告诉我如何获取通过 WebSocket.onmessage() 传递给我的数据并将其存储在可以在我的游戏中访问的变量中。