angularjs $httpProvider 拦截器文档

2023-11-22

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

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

我想了解更多关于拦截器的事情,所以我查看了官方文档,但是我找不到与拦截器相关的任何内容,只有一个方法(useApplyAsync([value]);)和一个属性(默认值)$httpProvider (docs).

我从其他教程中知道拦截器是一个常规服务工厂,并且我知道如何使用它,但我的问题是:因为语法是$httpProvider.interceptors.push('interceptorName'),那么我希望我会在其中找到一个名为“拦截器”的属性$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 to $httpProvider该值为空数组。要添加拦截器,您只需push()你的拦截器到这个数组。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

angularjs $httpProvider 拦截器文档 的相关文章

随机推荐

  • 即使设置了包含路径,Eclipse 也找不到头文件

    这是我们已经处理了一段时间的问题 我们正在使用 Cygwin 工具链构建 C 项目 无论我们在 C 编译器中添加项目设置下的包含路径 Eclipse 似乎都找不到必要的头文件 到目前为止 我们已经完成了 Stackoverflow 社区建议
  • 启动器和发送活动的意图过滤器

    我试图让我的主要活动成为启动器活动并接收发送事件 不知怎的 我似乎无法让两者同时工作 例如 我的应用程序托盘中有启动器图标 但不在图库中的图像共享菜单中 我怎样才能让两者同时工作 使用此意图过滤器 图标位于应用程序托盘中 但不在共享菜单中
  • SQL 数据透视日期列?

    我对 SQL 相当陌生 但相信我 在发布此内容之前我已经搜索过帮助 我有一个查询 它返回分配给工作的人员列表 这些工作的长度也不同 分配给这些工作的人员的工作长度也不同 我想做的是转换类似记录的列表 唯一改变的变量是日期 以及如何旋转此数据
  • 如何在 .net 内存转储中列出正在运行的任务

    我们有一个使用异步 等待模式的复杂 ASP Net Core 应用程序 该应用程序最近停止响应 我们为其进行了内存转储 我们怀疑有一些异步操作导致应用程序卡住 但不确定是哪一个 在对 Web 应用程序进行内存转储后 我们可以看到很少有正在运
  • 我想用 python 抓取印地语(印度语言)pdf 文件

    我已经编写了Python代码 可以从PDF文件中抓取所有数据 这里的问题是 一旦被刮掉 单词就失去了语法 如何解决这些问题 我附上代码 from pdfminer pdfinterp import PDFResourceManager PD
  • asyncio 中的合作收益

    我正在 龙卷风 网络服务器上运行一个长时间的 CPU 密集型任务 我不想将此任务卸载到线程 目前 在这个长时间运行的任务中 如何正确地 yield 控制事件循环 以便网络请求仍然得到服务 注意 我在这里以合作调度的方式使用 yield 而不
  • AWS 中的负载均衡器、侦听器目标、目标组之间有什么区别?

    您好 我是 AWS 新手 试图了解负载均衡 目标 目标组和安全组之间的区别 我有 2 个实例正在运行 现在我想平衡这些服务器的负载 是否会在新实例上创建负载平衡 什么是侦听器以及它们与负载均衡器有何不同 是的 负载均衡器是一个 EC2 实例
  • 非常量大小的数组:为什么这有效? [复制]

    这个问题在这里已经有答案了 include
  • 可调整大小的 Vue-good-table 或 Vue

    我在 Vue js 中有一个使用 Vue good table 制作的表格 我需要找到一种方法来调整大小 像这样的东西 https codepen io validide pen aOKLNo 不幸的是 据我所知 Vue good tabl
  • 为什么wcftestclient中无法调用WCF?

    我建立了一个WCF服务 它在IE addr中运行良好 但是当我将其添加到wcftestclient并调用方法时 会提示错误并显示为 调用服务失败 可能原因 服务离线或无法访问 客户端配置与代理不匹配 现有代理无效 有关更多详细信息 请参阅堆
  • Android 的基于位置的推送通知

    有没有办法在不使用第三方推送通知服务 例如 Parse 的情况下为 Android 设备发送基于位置的推送通知 我想向我的用户发送推送通知 而不会因为收到与该特定用户无关的通知而烦恼 因为他们不在某个区域 另外 我可以根据时间间隔获取用户位
  • 在 Electron 中出现“alert”后无法编辑输入元素

    TLDR 我正在学习电子 我有一个 HTML 元素
  • 什么是双箭头函数?

    什么是 让x something1 gt something2 gt something3 我有这段代码 但我无法理解它的作用 const myReducers person hoursWorked const combineReducer
  • Notepad++ 6.1.x 和 HTMLTidy

    有人可以使用 Notepad 6 1 x 和 HTMLTidy 并可以告诉我在哪里下载 dll config 使用 Notepad 6 1 4 Win 7 x86 是的 这个 Notepad TidyHTML 问题已经被问过 但它要么引用过
  • 根据条件从列表中删除重复项目

    我有一个具有属性 名称 价格 的项目类 Item1 100 Item2 200 Item3 150 Item1 500 Item3 150 仅当名称存在多次且价格为 500 美元时 我才想使用 LINQ 删除项目 而不创建自定义比较器 对于
  • 防止保存时删除主体为空的方法

    一直按 Ctrl S 是我的一个很矛盾的习惯 不利的一面是delphi在保存时删除空函数 过程 有没有办法防止 IDE 删除保存时主体为空的函数 过程 根据 OP 请求从评论转换而来 我的评论太小 无法回答 所以我将添加一些可能对OP来说已
  • DMARC -spf 和 DKIM 记录查询

    我有一个与第三方供应商的场景 我们公司有很多第三方邮件服务 我已经使用 p none 设置了 dmarc 并且使用已知的发送服务器更新了 SPF 记录 您能否澄清我在 Dmarc org 网站上读到的有关使第 3 方供应商符合 Dmarc
  • JQuery - 实时复制字段输入文本

    我试图弄清楚如何将一个表单字段中的用户文本输入复制到另一个表单字段中 具体来说 当有人在联系表单中填写其电子邮件地址时 该地址将在邮件列表表单中重复 这两种表单都使用 ajax 因此不必担心输入文本在提交时丢失 这是我的代码 div div
  • 如何在 Node.js 中监听剪贴板事件?

    我希望能够侦听 Node js 中的剪贴板事件 更准确地说是复制事件 我已经在java中使用过windows键盘钩子 所以我已经对这个主题有点熟悉了 由于我使用 Ubuntu 10 10 作为我的主要操作系统 因此我对 Ubuntu 桌面解
  • angularjs $httpProvider 拦截器文档

    我是角度 和编程 的新手 这是一个看似简单的问题 但我无法弄清楚 一些教程建议使用 httpProvider interceptors push interceptorName 操纵http请求和响应 我想了解更多关于拦截器的事情 所以我查