2013-08-05 40 views
0

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

在此先感谢。

回答

2

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

function someDelayedFunc(){ 
     //... 
    } 

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

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