我有一个关于 angularjs 中的计时器的简单问题。我在一个页面上有 2 个窗格。(左右)单击左侧的条目每 10 秒通过一个 GET 请求加载右侧的内容(这是我使用计时器的地方)。现在单击左侧的另一个条目会在右侧加载一些其他内容(每 10 秒通过 GET)。现在我的问题是旧计时器继续运行并每 10 秒发送一次 GET 请求。解决这个问题的好方法是什么?
提前致谢。
使用$timeout.cancel()
并将其传递给您的超时承诺。
function someDelayedFunc(){
//...
}
$scope.timeoutPromise = $timeout(someDelayedFunc, 10000);
function cancelExistingTimout(){
$timeout.cancel($scope.timeoutPromise );
}