修改angularjs中的超时

时间:2013-08-05 16:31:04

标签: angularjs get timeout

我对angularjs中的计时器有一个简单的问题。我在页面上有2个窗格。 (左和右)点击左侧的条目,每隔10秒通过GET请求加载右侧的内容(这是我使用计时器的地方)。现在点击左侧的另一个条目会在右侧加载一些其他内容(通过GET每10秒)。现在我的问题是旧计时器继续运行并每10秒发送一次GET请求。什么是解决这个问题的好方法?

提前致谢。

1 个答案:

答案 0 :(得分:2)

使用$timeout.cancel()并向其传递超时承诺的参考。

  function someDelayedFunc(){
      //...
  }

  $scope.timeoutPromise = $timeout(someDelayedFunc, 10000);

  function cancelExistingTimout(){
      $timeout.cancel($scope.timeoutPromise );
  }