【发布时间】:2013-12-20 08:22:29
【问题描述】:
我是 AngularJS 的新手。我目前正在查看 $timeout 服务。我知道它就像 setTimeout 函数的包装器。文档说它提供异常处理。此外,文档说我可以取消并刷新超时。
有人可以向我解释一下何时会发生超时异常吗?我也不明白为什么我需要刷新超时。我想要一个解释或者一个jsfiddle。在我的一生中,我无法弄清楚为什么甚至如何使用这些附加功能。
更新: 当我尝试运行停止函数时,与 myTimer get 关联的 catch 处理程序被抛出。这是我的代码:
var myTimer = null;
$scope.hasStarted = false;
$scope.start = function () {
if ($scope.hasStarted === false) {
$scope.isTimerActive = true;
myTimer = $timeout(function () { $scope.isTimerActive = false; }, 5000);
myTimer.catch(function (err) {
alert("An error happened with the clock.");
});
}
}
$scope.stopClock = function () {
$timeout.cancel(myTimer);
$scope.isClockActive = false;
}
谢谢!
【问题讨论】: