【发布时间】:2015-02-15 04:35:20
【问题描述】:
所以,我想说,每当我在 angularJS 中使用 $timeout 或 $interval 时进行清理是一个好习惯。我看到这个blog 谈到了你应该如何清理它(即$scope.$on("destroy" ... ))。我的问题是,是否可以在执行回调后立即清理它?我有一个服务,它返回类似这样的超时承诺:
service.foo = function(){
var timeout = $timeout(function(){
// .. do something .. //
}, 5000);
return timeout;
};
所以如果我调用此服务,我会执行以下操作:
var promise = myService.foo().then(function(){
$timeout.cancel(promise);
});
如果服务 foo 可能在同一个视图中被多次调用,这种方法是否合理?任何建议将不胜感激。
【问题讨论】:
标签: javascript angularjs promise