如何在 socket.onmessage 函数中设置 var 响应。 var 响应未定义,但我已在函数中设置。但我需要响应变量,因为函数末尾有回调。
function getVariables_Groups(_callback) {
var self = this;
var response = {};
socket.onmessage = function(evt) {
json = JSON.parse(JSON.parse(evt.data));
var statistics = {};
var groups = json.args;
statistics.action = "internal_dashboard_statistics";
if(groups[0] == "notfound") {
statistics.args[0] = "notfound";
loadVariable("dashboard.htm", statistics);
} else {
statistics.args = [];
for(var i = 0; i < json.args.length; i++) {
statistics.args[i] = {};
statistics.args[i].name = groups[i];
}
console.log(statistics);
self.response = statistics;
}
}
console.log(response);
_callback(response);
}
最佳答案
在设置变量之前不能使用它。
只有在实际获得值后才需要调用回调。
关于javascript - 在闭包中设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42588464/