2013-08-05 4 views
0

У меня есть простой вопрос относительно таймеров в angularjs. У меня есть 2 панели на странице. (влево и вправо). Щелчок по левой стороне загружает материал с правой стороны через запрос GET каждые 10 секунд (здесь я использую таймер). Теперь щелчок на другой записи с левой стороны загружает некоторые другие вещи справа (каждые 10 секунд через GET). Теперь моя проблема в том, что старый таймер продолжает работать и отправляет запросы GET каждые 10 секунд. Что было бы хорошим способом решить эту проблему?Изменение таймаута в angularjs

Заранее спасибо.

ответ

2

Используйте $timeout.cancel() и передайте ему ссылку на ваше обещание по тайм-ауту.

function someDelayedFunc(){ 
     //... 
    } 

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

    function cancelExistingTimout(){ 
     $timeout.cancel($scope.timeoutPromise); 
    } 
Смежные вопросы