2013-08-05 41 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); 
    }