Търся данните си на всеки 2 секунди, за да ги поддържам актуализирани на страницата. Проблемът ми е, че когато посетя друга страница, времето за изчакване остава активно. Как мога да отменя времето за изчакване, когато посетя нова страница?
function IndexCtrl($scope, $timeout, RestData) {
$scope.rd = {};
(function getRestDataFromServer() {
RestData.query(function(data){
$scope.rd = data;
$timeout(getRestDataFromServer, 2000);
});
})();
}
//РЕДАКТИРАНЕ Намерих решение, но не съм сигурен дали е добро. Когато запазя времето си за изчакване в $rootScope, мога да го отменя във всички останали контролери.
function IndexCtrl($scope, $rootScope, $timeout, RestData) {
$scope.rd = {};
(function getRestDataFromServer() {
RestData.query(function(data){
$scope.rd = data;
$rootScope.prom = $timeout(getRestDataFromServer, 2000);
});
})();
}
function newPageCtrl($scope, $rootScope, $timeout) {
$timeout.cancel($rootScope.prom);
}
$timeout.cancel()
? - person Ivan Chernykh   schedule 16.06.2013