Socket.io 将数据发送到全局变量
Posted
技术标签:
【中文标题】Socket.io 将数据发送到全局变量【英文标题】:Socket.io send data to global variable 【发布时间】:2017-10-10 14:37:00 【问题描述】:我正在使用 socket.io 制作多人游戏,但我遇到了一个问题,即服务器返回的所有内容都包含在函数中。 我正在尝试将数据返回到客户端的全局变量。
<script>
let test = "no";
let socket = io();
socket.on('player',function(data)
test = data;
);
console.log(test); // says no instead of yes
</script>
【问题讨论】:
您可以可靠地使用随player
消息到达的data
的唯一位置是在该消息处理程序内部。这就是异步操作的工作方式。将想要使用该数据的代码放入该消息处理程序中。
【参考方案1】:
socket.on 是一个异步调用,因此
<script>
let test = "no";
let socket = io();
socket.on('player',function(data)
test = data;
**console.log(test);** //say yes and also return it here
);
// console.log(test); // says no instead of yes , will not work as async
</script>
【讨论】:
是的,我知道 socket.io 的异步属性,但由于我是新手,我不确定如何解决它。所以我必须在播放器函数中返回数据变量?我该如何退货?以上是关于Socket.io 将数据发送到全局变量的主要内容,如果未能解决你的问题,请参考以下文章
python测试开发django-172.jQuery 发送请求获取的数据设置为全局变量