2017-03-03 2 views
0

どのようにしてvar応答をsocket.onmessage関数に設定できますか? 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

** async **の素晴らしい世界へようこそ!あなたはそれをすることはできません。 – SLaks

答えて

1

変数が設定される前に使用することはできません。

実際に値を取得した後でコールバックを呼び出す必要があります。

関連する問題