是否可以更新eventlistener使用的变量?

时间:2016-03-01 14:00:21

标签: javascript ajax rest polymer addeventlistener

我通过点击聚合物饼图来使用该脚本来获取有关在线和离线客户端的详细信息。通过更改我的json-document数组中的数据,直到“位置1”获得更新,但在eventlistener函数中没有任何反应。通过记录,我可以看到他们使用的是“旧阵列”。 谁能告诉我问题或我的剧本中的问题?

<script>
    update();
    function update() {
        function callRest() {
          var array;
          $.ajax({
              url: 'http://localhost:8080/restAPI',
              type: 'GET',
              contentType: 'application/json; charset=utf-8',
              async: false,
              success: function (data) {
                    array = JSON.parse(data);
              }
          });
          return array;
        }
        var array = callRest();
        var on = [];
        var off = [];
        for(var i=0;i<array.length;i++) {
            if(array[i].status=="online"){
                on[on.length] = array[i];
            }
            else if(array[i].status=="offline"){
                off[off.length] = array[i];
            }
        }

        // position 1

        function online() {
            fillData(on);
        }
        function offline() {
            fillData(off);
        }
        function fillData(array) {
            console.log(array);
        }
        document.addEventListener('WebComponentsReady', function() {
            var chart = document.querySelector('#chart');
            var label = document.querySelector('#selection-label');
            chart.addEventListener('google-chart-render', function() {
                chart.selection = [{row: null, column: null}];
                label.textContent =  'Für Details bitte einen Status auswählen';
            });
            document.addEventListener('google-chart-select', function(e) {
                if(chart.selection[0].row==1) offline();
                else if(chart.selection[0].row==3) online();
            });
        }, update);
    window.setTimeout(update, 10000);
  }
    </script>

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我通过将整个代码放在eventlistener中并且只是在update-function周围来修复! 但还是要感谢您的帮助!