【发布时间】:2016-12-25 15:39:02
【问题描述】:
我在这里尝试为 onmessage 函数中的变量赋值:
socket = new WebSocket(ws_scheme +"127.0.0.1:8000/chat/");
var incomeData;
socket.onmessage = function(e) {
incomeData='hello'+ e.data;
console.log('inside function:'+incomeData)
}
socket.onopen = function() {
socket.send(" from websocket");
}
console.log(incomeData)
控制台将第一个日志显示为未定义,第二个“内部函数:来自 websocket 的 hello”。如何获得分配的变量并将值也保留在函数之外?为什么第二个 console.log 首先出现?
【问题讨论】:
-
onmessage 是一个异步调用,所以你不能给变量赋值
-
如果我想将 e.data 分配给一个变量,并将其用作 Web 应用程序中的内容,该怎么办?
-
在onmessage中传递一个回调然后赋值
标签: javascript websocket