【发布时间】:2013-12-28 22:49:37
【问题描述】:
我有一个计时器,它每 10 秒轮询一次服务器以获取数据。但是,每次用户切换到另一个控制器时,计时器都应该被销毁。出于某种原因,下面的代码没有发生这种情况。无论我是否更改控制器,计时器都会不断轮询服务器。
controller.js
$scope.init = function() {
//timer and timer stoper
$scope.counter= 0;
var mytimeout = $timeout($scope.onTimeout, 10000);
$scope.$on('$locationChangeStart', function() {
$timeout.cancel(mytimeout);
});
};
$scope.onTimeout = function() {
//polling server function
$scope.counter++;
var mytimeout = $timeout($scope.onTimeout, 10000);
var increase = 0;
inboxServ.check_newusers().then(function(data) {
if (data == "true") {
$scope.retrieveusers(increase);
}
});
};
【问题讨论】:
标签: javascript angularjs angularjs-directive angularjs-ng-repeat angularjs-service