所以我有不同的状态(使用不同的控制器),每个状态都从api中获取数据。但若用户在请求被解析之前离开状态,那个么当他不处于该状态时就会调用处理程序。这不是故意的。此外,一些处理程序具有$intervals获取数据(在解决第一个请求后)->,因此当用户几个小时前离开时,数据会继续获取。我想到的第一件事:
let isDestroyed = false;
$http.get('/someurl').then(response => {
if (isDestroyed) return;
processResponse();
});
$scope.$on('$destroy',() => {
isDestroyed = true;
});
我还能做什么?
角度文档:
timeout–{number | Promise}–超时(以毫秒为单位),或在解析时应中止请求的Promise。
含义:将超时设置为promise,当销毁作用域时-解析promise