$ interval在重复2次后停止在Angular中工作

时间:2015-09-26 01:56:10

标签: javascript angularjs

我正在尝试让Angular在15秒后重新加载页面显示一个微调器,但由于某种原因,在两次重复之后,它将开始忽略$ interval函数并在它改变时开始重新加载页面(不等待15秒)。 有任何想法吗? 谢谢!

var getAll = function () {
  $http.get('/getAll')

  .success(function (data) {
      // something
  })

  .error(function (data) {
      // something else
  });		
}

getAll();

$interval(function () {
  usSpinnerService.spin('spinner-1');  
		
  $interval(function () {
    getAll();
    usSpinnerService.stop('spinner-1');
  }, 2000);

}, 15000);

1 个答案:

答案 0 :(得分:0)

查看$ interval的文档,您需要设置“count”,这是$ interval重复的次数。在这种情况下,看起来你只希望它发生一次。

在这里,我们启动微调器。在调用some_function()之前,间隔开始15秒延迟,这将停止微调器并调用getAll()

var some_function() {
   stop_spinner()
   getAll()
}

start_spinner()
$interval(some_function, 15000, 1);

来源:https://docs.angularjs.org/api/ng/service/ $ interval