可以使用 Fetch API 作为请求拦截器吗?

2023-11-24

我尝试在每次使用 Fetch API 向服务器发出请求后运行一些简单的 JS 函数。我已经搜索过这个问题的答案,但没有找到任何答案,可能是因为 Fetch API 相对较新。

我一直在这样做XMLHttpRequest像这样:

(function () {
   var origOpen = XMLHttpRequest.prototype.open;
   XMLHttpRequest.prototype.open = function () {
      this.addEventListener('load', function () {

         someFunctionToDoSomething();   

       });
       origOpen.apply(this, arguments);
    };
})();

很高兴知道是否有一种方法可以使用 Fetch API 来完成同样的全局任务。


Since fetch返回一个承诺,您可以通过覆盖将自己插入承诺链fetch:

(function () {
    var originalFetch = fetch;
    fetch = function() {
        return originalFetch.apply(this, arguments).then(function(data) {
            someFunctionToDoSomething();
            return data;
        });
    };
})();

jsFiddle 上的示例 (因为 Stack Snippets 没有方便的 ajax 功能)

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

可以使用 Fetch API 作为请求拦截器吗? 的相关文章

  • 将值设置为输入字段时,西班牙语文本无法正确显示

    我正在尝试将西班牙语文本设置到输入字段 但它似乎没有正确显示 但是 如果相同的文本位于 div 内部或已设置为输入字段的值 则该文本可以正常显示 HTML div Cuenta de Ahorros Persona F iacute sic
  • JavaScript CSV 验证

    如何检查文本框中的逗号分隔值并在未找到时发出警报 如果有的话 里面应该有字符 比如A B C D function validate validate text box
  • Javascript 闭包 - 变量范围问题

    我正在阅读 Mozilla 开发者网站上有关闭包的内容 我注意到在他们的常见错误示例中 他们有以下代码 p Helpful notes will appear here p p E mail p
  • 为什么我的事件处理程序会导致“不是函数”错误,但可以在 Firebug 控制台中运行?

    使用JQuery 1 2 6 在Firefox 3和IE7上进行测试 我有一些非常基本的 JavaScript 代码来重新加载验证码图像 在我的 JS 文件中 我有 var Captcha count 0 Refresh function
  • 如何从 javascript 错误对象读取错误消息

    有人可以帮我解决以下问题吗 我正在通过 redux 操作进行后调用 如下所示 export const addEmployee firstName surname contactNumber email gt async dispatch
  • Javascript:使用 IIFE 和块语句之间的区别

    IIFE主要用于封装作用域 function let myVar 10 not global 但为什么不直接使用块语句呢 let myVar 10 also not global 除了范围封装之外 进一步使用 IIFE 是否还有其他好处 块
  • D3更新circle-pack数据新节点与现有节点重叠

    我正在关注一般更新模式 http bl ocks org mbostock 3808234但在分层方面存在问题 使用圆形包装布局 我pack新数据 update enter and exit圆形元素 然而 当新元素enter 它们重叠upd
  • 如何使传单圆圈标记可拖动?

    使用传单 我创建了一个L circleMarker我希望它是可拖动的 var marker L circleMarker new L LatLng 48 94603 2 25912 draggable true bindPopup Circ
  • 如何用 JavaScript 修复图像透视变形和旋转?

    我有一些用手机拍摄的图像 有没有可以拉直纸张照片并将其压平的 JavaScript 库 例如 我想创建一个矩形图像 该图像没有任何失真 换句话说我想知道如何用 JavaScript 修复透视变形和旋转 例如 我发现下面的示例图像来自this
  • 纯 JS 相当于 Jquery eq()

    jquery 的纯等价物是什么eq 例如 我怎样才能实现 class1 class2 eq 0 text 1254 在纯 JavaScript 中 要获取数组中的元素索引 可以使用 在 JavaScript 中 因此 要重现您的代码 您可以
  • 如何将本地文本文件上传到文本区域(网页内)

    我是一名新手程序员 需要一些帮助来弄清楚如何将本地文本文件上传到我正在构建的网站内的文本区域 我非常精通 HTML CSS 对 Javascript JQuery 有相当的了解 而且我刚刚学习 PHP 您能提供的任何帮助我将不胜感激 我有一
  • jquery 中可点击 div 中的按钮

    我有整个 div 您可以单击它来切换该 div 的主要部分 问题是我在该 div 中也有可点击的按钮 当我点击它时 它会执行它应该做的事情 但同时也会切换整个 div 我怎样才能禁用它 Use event stopPropagation 单
  • 我应该如何实现将状态保存到 localStorage?

    CODE var React require react var Recipe require Recipe jsx var AddRecipe require AddRecipe jsx var EditRecipe require Ed
  • 使用 Javascript/Node.js 在代码内执行 mongoimport

    node js javascript 中是否有任何库可供个人使用mongoimport在代码中 据我了解 mongoimport 有点像 exe 您必须先执行它 然后才能使用其文本输入环境 是否可以在我的代码中执行 mongoimport
  • 如何绕过Access-Control-Allow-Origin?

    我正在一个平台上对我自己的服务器进行ajax调用 他们设置了阻止这些ajax调用的平台 但我需要它从我的服务器获取数据以显示从我的服务器数据库检索到的数据 我的 ajax 脚本正在运行 它可以将数据发送到我的服务器的 php 脚本以允许其处
  • Javascript等待/异步执行顺序

    所以我试图把我的头脑集中在 Promise await async 上 我不明白为什么当 go 执行时 带有 finished 的警报会紧随 console log coffee 之后 当所有函数都使用等待 承诺时 为什么它只等待 getC
  • 如何将项目插入到特定索引处的空数组中?

    我想将一个项目插入到空数组的指定索引中 我看到有 Array prototype splice 方法 但是 如果我在空数组上使用 splice 它只会添加项目来结束数组 如下所示 var a a splice 3 0 item 3 cons
  • 如何使用 fetch() 和 WhatWG 流获取文件上传进度

    注意 我并不是在寻找任何替代方案 我知道这可以通过 XMLHttpRequest 来完成 我也不关心浏览器支持 我只想了解新的 即将推出的标准 我有一个File https developer mozilla org en US docs
  • ‘state’未定义 no-undef

    我使用教程来学习 React 但我很快就陷入困境 在教程中 他们使用以下代码 import React Component from react class Counter extends Component state count 0 r
  • 在 Firestore 文本字段中存储文本文件并删除换行符

    我正在尝试将 CSV 文件存储在 Cloud Firestore 内的文本字段中 然而 Firestore 正在删除所有换行符并将整个 CSV 文件存储为一行 这Firestore 数据类型文档 https firebase google

随机推荐

  • Numpy 使用索引数组将一个数组累加到另一个数组中

    我的问题是关于我想使用 numpy 表达的特定数组操作 我有一个浮点数数组w和一个索引数组idx与相同长度w我想总结一下w与相同的idx值并将它们收集在数组中v 作为一个循环 它看起来像这样 for i x in enumerate w v
  • 处理多个 NSURL 连接的最佳方式

    我正在尝试以编程方式创建 xls 工作表 为了填写表格 我正在制作倍数NSURLConnection大约100 现在 我的方法是 建立连接并将数据存储到数组中 该数组有 100 个对象 现在获取第一个对象并调用连接 存储数据 并与数组中的第
  • 与抽象类相比,使用分部类有什么好处?

    我一直在阅读 Programming Microsoft Visual C 2008 The Language 以便更好地了解 C 及其用途 我遇到了我在 ASP Net 的 Page 类中已经遇到过的部分类 在我看来 您似乎可以对抽象类和
  • 使用 OpenCSV 将 CSV 解析为多个/嵌套 bean 类型?

    我有各种 CSV 其中包含一些标准列和一些完全随机的字段 firstname lastname dog name fav hat fav color bill smith fido porkpie blue james smith rove
  • 如何根据文本计算TextView高度

    我使用下面的代码来计算文本的高度 然后设置这个高度UILabel and UITextView CGSize targetSize CGSizeMake 300 CGFLOAT MAX NSString message The Intern
  • 如何在iOS 11中从iOS Receipt中获取original_application_version(第一次购买的版本号)?

    我有一个付费的 iOS 应用程序 我需要得到original application versionApple AppStore 收据中的编号 用户购买的第一个版本 为了获取收据 当我的应用程序加载时 我使用checkReceiptFrom
  • 如何更改矩阵中多个点的值?

    我有一个矩阵 500x500 我有另一个矩阵 2x100 其中包含可能位于第一个矩阵内的坐标对 我希望能够将第一个矩阵的所有值更改为零 而不需要循环 mtx magic 500 co ords 30 50 70 30 50 70 mtx c
  • 使用spring基于注解的配置时如何配置MappingJacksonHttpMessageConverter?

    我不合理地通过注释而不是纯 xml beans 来配置 spring bean 现在我面临着后果 我使用配置 REST 通道
  • iinc 在 Java 中是原子的吗?

    我知道在没有锁定的情况下 C 中的增量操作不是原子的 JVM 会在其实现上添加任何锁吗iinc操作说明 不 这不对 检索 c 的当前值 将检索到的值加 1 将增加的值存储回 c 中 原子性和线程干扰的 Java 文档 你需要使用synchr
  • 使用 JMS 连接到 IBM MQ

    我想使用 JMS 连接到 IBM MQ 如何指定队列管理器 通道和其他属性 使用 JNDI 进行连接工厂 目的地查找 提供InitialContext具有以下属性 java naming provider url
  • “无法重现”——Java 确定性多线程可能吗?

    是否可以以确定性方式运行多线程 Java 应用程序 我的意思是在我的应用程序的两次不同运行中始终具有相同的线程切换 原因是每次运行时都在完全相同的条件下运行模拟 类似的情况是 当使用随机数生成器时给出一些任意种子以获得始终相同的 随机 序列
  • Rshinydashboard动态菜单选择

    我在 R闪亮仪表板中创建了动态 sibebar 菜单 即使我使用selected TRUE 在此动态模式下启动时不会选择与菜单关联的菜单项 如何确保我可以控制在这种动态模式下启动时显示哪个 menuItem 的内容 我一直在搜索类似的帖子
  • 如何强制 WebKit 重绘/重绘以传播样式更改?

    我有一些简单的 JavaScript 来实现样式更改 sel document getElementById my id sel className sel className replace item 1 9 selected item
  • 关于 Apple 的 LazyTableImages 示例的问题 - 行为与应用程序商店不完全相同

    我有一个带有项目列表的 UITableView 每个项目都有自己的图像 我认为 Apple 的 LazyTableImages 示例项目非常适合学习 并用于在检索原始列表数据后实现异步下载图像的同类过程 在大多数情况下 它运行得很好 除了我
  • 在控制器中执行操作的 Rails 3 链接或按钮

    在 RoR 3 中 我只想有一个链接 按钮来激活控制器中的某些操作 方法 具体来说 如果我单击页面上的 update specs 链接 它应该转到我的产品控制器中的 update specs 方法 我在此网站上找到了执行此操作的建议 lin
  • 如何比较一个字符来检查它是否为空?

    我尝试了下面的方法 但是 Eclipse 抛出了一个错误 while s charAt j null 检查字符是否是的正确方法是什么null 检查是否String s is not null在进行任何字符检查之前 返回的字符String c
  • 学说迁移,使用自定义学说类型的问题

    我正在使用 Symfony2 Doctrine2 构建一个应用程序 我的应用程序需要存储地理空间数据 因此我编写了适当的学说扩展 一切都运行得很好 并且该应用程序已经在生产环境中运行了很长时间 现在我必须添加一些新功能 并且需要更新数据库而
  • MVC DateTime 验证 - 英国日期格式

    我有一个简单的视图 其中包含两个日期字段 并添加了 ValidationMessageFor 控件以进行不显眼的 JavaScript 验证 我的问题是 当格式正确时 dd MM yyyy 我总是被告知我的日期无效 我已经添加了
  • IIS7 - 在 ASP 中指定内容长度标头会导致“连接重置”错误

    我正在将一系列网站从现有的 IIS5 服务器迁移到全新的 IIS7 Web 服务器 其中一个页面从数据库中的 blob 中提取数据文件并将其提供给最终用户 Response ContentType rs contentType Respon
  • 可以使用 Fetch API 作为请求拦截器吗?

    我尝试在每次使用 Fetch API 向服务器发出请求后运行一些简单的 JS 函数 我已经搜索过这个问题的答案 但没有找到任何答案 可能是因为 Fetch API 相对较新 我一直在这样做XMLHttpRequest像这样 function