在闭包

时间:2017-03-03 21:09:24

标签: 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);

        }

1 个答案:

答案 0 :(得分:1)

在设置之前不能使用变量。

一旦你确实有值,你只需要调用回调。