0

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

提前致谢。

4

1 回答 1

2

使用$timeout.cancel()并将其传递给您的超时承诺。

  function someDelayedFunc(){
      //...
  }

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

  function cancelExistingTimout(){
      $timeout.cancel($scope.timeoutPromise );
  }
于 2013-08-05T16:37:38.453 回答