当离开状态时,如何停止http请求或停止处理http请求结果



所以我有不同的状态(使用不同的控制器),每个状态都从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

最新更新