AngularJS: 我可以每隔一段时间重复调用一个函数吗?

AngularJS: I can repeatly call a function with some time interval?

有没有什么方法可以重复调用 angularjs 中的函数。我在我的控制器中使用这个:

$interval( $rootScope.synchronization(), 1000 ); 

但是只调用了一次同步函数

删除括号:

$interval( $rootScope.synchronization, 1000 ); 

通过括号传递调用执行函数,然后将结果作为参数传递给 $interval。没有括号你实际上传递了方法本身。

使用括号,您只是调用它,而不是传递对函数的引用。

$interval( $rootScope.synchronization, 1000 ); 

在 Angular 的 $interval 中。 fn 函数每延迟毫秒执行一次:

$interval(fn, delay, [count], [invokeApply], [Pass]);

例如,试试这个:

$scope.myVariable = 1;
$interval( function(){
    $scope.myVariable++;
}, 1000 ); 

所以$interval上的第一个参数必须是函数,$rootScope.synchronization()不是函数,是对函数的调用。在您的情况下,将 $rootScope.synchronization() 更改为 $rootScope.synchronization

$interval( $rootScope.synchronization, 1000 );