$ interval函数在应该运行之前运行

时间:2016-12-21 18:40:11

标签: javascript angularjs

我有一个$ interval函数,我想每10秒运行一次。但是,运行时每运行10秒,它会运行两次该功能。第一次运行时,我希望没有控制台消息,因为它应该创建数组$scope.lastCheck但是,在第一次执行后它将创建数组,以及日志“Last check array exists”。每隔10秒钟,它会将消息记录两次。我阅读了文档并尝试通过10000, [0]强制它运行一次,但没有看到任何变化。

$scope.updateParking = $interval(function() {
    $http({
            url: 'url',
            method: "GET"
        })
        .then(function(response) {
            var responseScopes = response.data.scopes;
            if (typeof $scope.lastCheck == "undefined" || !($scope.lastCheck instanceof Array || $scope.lastCheck.length == 0)) {
                $scope.lastCheck = [];
                for (var i = 0; i < responseScopes.length; i++) {
                    $scope.lastCheck.push({
                        occupied: response.data.scopes[i].parking_spot.occupied
                    });
                }
            } else {
                console.log("Last check array exists")
            }
 });
}, 10000);

0 个答案:

没有答案