刷新数据后的角度性能降级

时间:2016-01-27 21:33:10

标签: javascript angularjs

我刚开始接触AngularJS,但我发现我的应用程序会在几分钟后遇到性能问题。

编辑:似乎只在IE11中发生

我有一个页面每1分钟导入一个JSON数组,如下所示:

$http.get('http://localhost/statuscheck.php?rnd' + new Date().getTime()).
        success(function (data) {

            $scope.statuschecks = data;
            $scope.onlinecount = parseInt(0);
            $scope.offlinecount = parseInt(0);
            $scope.totalchecks = parseInt(0);
            $scope.disabledcount = parseInt(0);
            $scope.checkcomplete = false;


            angular.forEach($scope.statuschecks, function (obj) {


                $http.get('http://localhost/monitoring_test.php?websiteID=' + obj.websiteID + '&rnd' + new Date().getTime()).
                        success(function (data) {

                            if (data.status == 'Online') {
                                $scope.onlinecount = parseInt($scope.onlinecount) + 1;
                            } else if (data.status == 'Offline') {
                                $scope.offlinecount = parseInt($scope.offlinecount) + 1;
                                sitesdownarr.push(obj.websiteID);
                            }

                            $scope.totalchecks = parseInt($scope.totalchecks) + 1;

                            if ($scope.totalchecks == $scope.statuschecks.length) {
                                $scope.checkcomplete = true;
                            }

                        });


            });

        });  

然后我使用页面上的$ scope.tasks对象来显示一些信息。由于此数据会定期更改,因此我使用$ timeout重新运行http.get以再次导入数据。

我打算让浏览器窗口全天打开,随着数据的变化观察页面的变化。但是,几分钟后,浏览器窗口将因长时间运行的脚本而停止运行。看起来,只需刷新一些数据,事情就会陷入困境。

我是以错误的方式解决这个问题吗?

0 个答案:

没有答案