当前位置: 首页 > 面试题库 >

angularjs $ httpProvider拦截器文档

况浩邈
2023-03-14
问题内容

我对角度(和编程)不熟悉,这是一个看似简单的问题,但我无法弄清楚。

一些教程建议使用$httpProvider.interceptors.push('interceptorName')操纵http请求和响应。

我想知道更多关于拦截的事情,所以我看的正式文件,但我找不到,只有一个方法(useApplyAsync([值]);)与拦截任何东西,在一个属性(默认)$httpProvider(文档)。

我从其他教程中知道拦截器是常规服务工厂,并且知道如何使用它,但是我的问题是:由于语法是$httpProvider.interceptors.push('interceptorName'),所以我希望在中找到一个名为“
interceptors”的属性$httpProvider,但实际上我可以没错 我想错过这个东西吗?还是我的概念从头开始是完全错误的?


问题答案:

拦截器在 此处
文档中

这是一个如何写一个例子。

.config([
  '$httpProvider',
  function($httpProvider) {

    var interceptor = [
      '$q',
      '$rootScope',
      'userSession',
      function($q, $rootScope, userSession) {

        var service = {

          // run this function before making requests
          'request': function(config) {

            if (config.method === 'GET' || userSession.isAuth()) {
              // the request looks good, so return the config
              return config;
            }

            // bad request, so reject
            return $q.reject(config);

          }

        };

        return service;

      }
    ];

    $httpProvider.interceptors.push(interceptor);

  }
])

$httpProvider文档页面上没有关于拦截器的任何信息,是因为开发人员未在 $http
生成文档

脚本中
包含以下代码:

/**
   * @ngdoc property
   * @name $httpProvider#interceptors
   * @description
// etc

一般而言,已知文档不完整,不准确和/或令人困惑。直到最近,我一直以为找不到或不了解某些东西是我的问题,但是我发现这通常是因为文档太糟糕了。但是,我们都应该感谢我们拥有如此出色的工具,并且要记住,由于时间必须集中在编写工具而不是工具手册上,因此文档可能不多。

最可靠的“文档”是源代码本身,尽管阅读起来可能不太友好!在我上面链接的源代码中,您可以看到this.interceptors = []this引用$httpProvider,因此它将属性分配interceptors$httpProvider,其值为一个空数组。要添加拦截器,您只需push()将拦截器添加到此数组即可。



 类似资料:
  • 问题内容: 我在使用TypeScript在AngularJS中设置请求拦截器时遇到问题 以下代码段有效,但无效版本已注释掉。无论我在构造函数中注入什么,局部变量在方法中都是未定义的。 问题答案: 是因为错误。解:

  • 1.1.1. 拦截器接口文档 1.1.1. 拦截器接口文档 语义理解(NLP)的拦截器(interceptor),可以允许开发者在进入Rokid NLP匹配之前或者是asr结果在若琪的NLP处理完成后结果为空时将请求进行拦截,拦截到开发者自己的https拦截器。 下图是整个语音的后端处理流程图: 图中的「NLP」即为语义理解服务 图中的「Function Service Dev/Pro」即为Rok

  • easyopen在1.3.1版本开始支持拦截器。 easyopen拦截器实现原理跟springmvc拦截器类似,拦截器作用在api方法上,即有@Api注解的方法。 拦截器定义如下: /** * 拦截器,原理同springmvc拦截器 * @author tanghc * */ public interface ApiInterceptor { /** * 预处理回调方法,

  • 你可以配置处理器拦截器HandlerInterceptors或web请求拦截器WebRequestInterceptors等拦截器,并配置它们拦截所有进入容器的请求,或限定到符合特定模式的URL路径。 在MVC Java编程配置下注册拦截器的方法: @Configuration @EnableWebMvc public class WebConfig extends WebMvcConfigure

  • Uragano里可以自定义拦截器,并且拦截器分服务器端拦截器和客户端拦截器 拦截器还分全局拦截器和局部拦截器,并且拦截器也是支持依赖注入的 创建拦截器 public class ClientGlobalInterceptor : InterceptorAbstract { private ILogger Logger { get; } public

  • 拦截文件 bp CreateFileA 创建或打开文件 (32位) bp OpenFile 打开文件 (32位) bp ReadFile 读文件 (32位) bp WriteFile 写文件 (32位) bp GetPrivateProfileStringA (ini文件)