取消/中止angularJs中的所有待处理请求

时间:2014-08-14 05:07:31

标签: javascript angularjs xmlhttprequest

在路线更改时,我需要中止以前路线中的所有待处理请求,这样我就不会遇到上一条路线的响应问题,这些路线会破坏我当前路线上的数据(有时会发生前一路线的响应)很长时间才能完成。)

我考虑过使用http interceptor

$httpProvider.interceptors.push(function($q) {
    return {
     'request': function(config) {

      },

      'response': function(response) {

      }
    };
  });

在请求函数中,我可以使用建议here的promise修改config.timeout,并将所有延迟对象存储在全局缓存中,以便我可以取消所有这些。

此方法存在的问题是,它可能会在代码的其他位置覆盖 config.timeout

我认为另一种解决方案可能是取消XMLHttpRequest级别的所有ajax请求,但我不知道该怎么做。

有什么建议吗?感谢。

0 个答案:

没有答案