javascript - 在闭包中设置变量

标签 javascript websocket

如何在 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/

相关文章:

html - 玩框架作为游戏服务器

android - 高速公路 websockets Android 演示崩溃

javascript - Onsen-UI:如何更新屏幕页面属性并重新加载 View ?

javascript - 禁用按钮,直到单击一个单选按钮

html - PHP 共享主机上的 WebSockets

c++ - 使用 websocketpp 库在多线程程序中为 endpoint.listen() 创建一个单独的 boost 线程

websocket - Phoenix Framework Channels - (ErlangError) erlang 错误 : [reason: :function_clause, mfa : {Phoenix. Endpoint.CowboyHandler

javascript - 如何记录方法的 "object"参数

javascript - JQuery 追加 html5

javascript - 单击链接时提示用户确认