AngularJS : How to prevent a request

标签 angularjs request

是否可以使用 angularjs 拦截器来阻止请求?

$provide.factory('myHttpInterceptor', function($q, someService) {
  return {
    'request': function(config) {
      // here I'd like to cancel a request depending of some conditions
    }
  }
});

$httpProvider.interceptors.push('myHttpInterceptor');

最佳答案

在 1.1.5 及更高版本中,您可以使用配置对象的“timeout”属性。

来自documentation :

timeout – {number|Promise} – timeout in milliseconds, or promise that should abort the request when resolved.

简单的例子:

$provide.factory('myHttpInterceptor', function($q, someService) {
  return {
    'request': function(config) {

        var canceler = $q.defer();

        config.timeout = canceler.promise;

        if (true) {

            // Canceling request
            canceler.resolve();
        }

        return config;
    }
  }
});

$httpProvider.interceptors.push('myHttpInterceptor');

关于AngularJS : How to prevent a request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19711550/

相关文章:

http - 如何使用 wreq 只下载部分响应?

android - 简单的android https请求?

java - 请求调度器转发和 servlet 链接之间的区别

c# - 发出 Post 请求时为 WebClient 设置主体

javascript - Visual Studio Code : Cannot find name angular?

javascript - AngularJS应用程序中的错误

javascript - Angular 1.3.15 覆盖第三方指令中的变量

javascript - 使用 JavaScript 确保发布请求的顺序

angularjs - gradle不将args传递给具有扩展使用选项的gulp

javascript - 使用 ng-change POST 新值