Omk*_*lee 5 scope timeout ondestroy angularjs
$scope.$on('$destroy', function (event){
$timeout.cancel(promiseObj);
});
Run Code Online (Sandbox Code Playgroud)
如果我位于正在加载的页面上(因为页面包含$http
请求,因此需要时间加载数据)并且在加载时,我从导航更改页面,$timeout 不会被删除,并且连续http
调用正在进行。你能帮我吗?
实际上,问题是 Angular 创建了许多与 PromiseObj 同名的对象。因此,这些对象没有被删除。因此,我创建了一个 PromiseObj[] 数组,并使用 for 循环删除了所有 Promise。;)
$scope.$on('$destroy', function () {
for(var promise in promiseObj)
{
$timeout.cancel(promiseObj[promise]);
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3891 次 |
最近记录: |