fetch中断请求, 和再次恢复使用

2023-11-04

业务场景:当时用fetch()建立长连接请求,在不使用时需要将其断掉,以缓解带宽压力和浏览器运行压力。等再次需要建立长链接时,再次启用。

1、外层定义controller;一旦中止,AbortController就会被消耗。每次调用都必须创建新的实例。
2、方法体内定义具体实现
const signal = controller.signal;
controller = new AbortController();
3、终端调用 controller.abort();

  // 判断某条件,如果不等于空, 先将fetch请求中断, 再在window上new AbortController()

这里为啥要用window呢?  因为我将中断操作,和建立链接操作放在了一个函数内.

  srtGet() {
      if (this.value != "") {
        window.controller.abort();
        console.log("signal 的中止状态: ", signal);
      }
      window.controller = new AbortController();
      let signal = window.controller.signal;
      console.log("signal 的初始状态: ", signal);
     
      fetch("/api/config/interface", {
        signal,
        method: "POST",
        headers: {
          "Content-Type": "application/json",
        },
        body: JSON.stringify(data),
      })
        .then((r) => )
        .then(f);
    },

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

fetch中断请求, 和再次恢复使用 的相关文章

  • Javascript/jQuery 变量未给出预期值

    和我之前的其他人一样 我也在 Javascript 的范围内苦苦挣扎 那并试图阅读该死的东西 我已经检查了关于这个问题的一些先前的线程 但我似乎无法让它们正确地应用于我的问题 在下面的示例中 我想操纵中的值tagsArr数组 一旦数组已完全
  • 添加 Javascript 按钮来更改 iframe 的内容

    我正在尝试创建此页面 其中有一个 Iframe 并且我想添加一个按钮来显示 iframe 中的下一页 以及一个按钮来显示 iframe 中的上一页 我总共有 4 个页面要在名为 1 html 2 html 3 html 4 html 的 i
  • Javascript 闭包与 PHP 闭包,有什么区别?

    JS 中的闭包和 PHP 中的闭包有什么区别 它们的工作方式几乎相同吗 在 PHP 中编写闭包时有什么需要注意的注意事项吗 一个区别是两者如何处理存储执行匿名函数的上下文 JavaScript var a 1 var f function
  • 如何检查变量是否是生成器函数? (例如函数*产量)[重复]

    这个问题在这里已经有答案了 检查函数是否是生成器的可靠方法是什么 例如 let fn function yield 100 if fn instanceof for let value in fn 我能想到的唯一方法是fn toString
  • CSS - 制作“步进”文本的好方法?

    有没有一种好的方法可以实现以下目标 而无需任何额外的标记 不过使用 JavaScript 就很好了 任何想法 Thanks Edit 我的标记将是这样的 div style width 400px p Text text text Text
  • 每次用户在地址栏中按 Enter 时,Firefox 插件都会执行某些操作

    我正在尝试编写一个扩展程序 用于监视每次有人在使用地址栏时按下回车键时的情况 步骤将类似于 用户在地址栏中输入一堆文本并按 Enter 键 我的插件启动并接收用户输入的内容 然后我的插件决定如何处理用户输入的字符串 我通过使用在步骤 2 中
  • 如何将js文件从同一文件夹导入chrome扩展中的background.js

    我在导入与 background js 脚本库 位于同一库中的文件 score js 时遇到问题 我对 js 和 chrome 扩展都很陌生 我研究了 require js 并做了这个 背景 html h1 Tab Manager h1
  • webpack 加载器并包含

    我是 webpack 的新手 我正在尝试了解加载器及其属性 例如测试 加载器 包含等 这是我在 google 中找到的 webpack config js 的示例片段 module loaders test js loader babel
  • Javascript:更改浏览器后退按钮的功能

    有没有办法让用户的浏览器上的后退按钮调用 JavaScript 函数而不是返回页面 您无法覆盖这样的行为 如果用户通过链接访问您的页面 则单击 后退 将使他们再次离开该页面 但是 您可以使页面上的 JavaScript 操作将条目添加到历史
  • 从 json 文件加入时添加角色 (autorole)

    我对 JS 相当陌生 为了学习 我决定为 Discord 制作一个机器人 我学到了很多并且正在继续学习 我有一个 autorole 的想法 我知道传统的做法 bot on guildMemberAdd member gt var role
  • JavaScript 中的凯撒密码

    我正在尝试编写一个程序来解决javascript中的以下问题 写在本段下面 我不知道为什么我的代码不起作用 有人可以帮助我吗 我是 JavaScript 新手 这是一个免费的代码训练营问题 现代常见的用法是 ROT13 密码 其中字母的值移
  • EmberJS:如何为 ember-data RESTAdapter 中的模型提供特定的 URL?

    问题一 如果我有一个名为 Company 的余烬数据模型 我如何告诉它点击 businesses and businesses id而是检索记录 有没有办法指定给定模型的 url 更好的是 像 BackboneJS 一样 我可以在运行时计算
  • AngularJS 中的嵌套模块

    我有 2 个不同的 AngularJs 模块 一个 widgetContainer 和一个 widget 小部件可以显示为独立的应用程序 也可以包含在小部件容器中 一个 widgetContainer 包含 0 N 个 widget 如果我
  • NodeJS 错误堆栈未定义 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在使用节点检查器 我注意到new Error 有未定义的堆栈 如果我将此值分配给一个变量 该变量将显示堆栈未定义 有趣的是 跑步new
  • KML 中的 JavaScript 被 Google 地球插件忽略

    我创建了一个简单的 KML 文件 该文件可以在独立的 Google 地球客户端中运行 但在 Google 地球插件中根本无法运行 无论浏览器如何
  • 如何在画布中旋转图表同时保持数字垂直?

    我正在尝试围绕其中心旋转画布中的图表 同时保持字母直立 我正在尝试使用 ctx rotate 但它使用画布的左侧作为中心来旋转整个图表 以下链接提供了视觉效果 我希望它看起来像绿色 而不是红色 就像我的代码当前所做的那样 视觉解释 http
  • 仅使用 javascript 获取网站的正文元素

    我想检索以下网站的正文内容http sports espn go com nhl bottomline scores nhl s left1 http sports espn go com nhl bottomline scores nhl
  • 使用 JQueryUI Autocomplete 和 Meteor 的规范方法

    使用 Meteor 我想了解使用 JQuery UI 自动完成处理大量服务器端数据的最有效方法 我有两个工作提案 想听听关于差异的意见 以及是否有更好的方法来做同样的事情 使用发布 订阅 Server Meteor publish auto
  • ReactJS setState 仅在嵌套在 setState 中时才有效

    问题 当我使用 this setState 并在回调中输出状态时 它根本不会改变 但是当我将 setstate 嵌套在 setstate 中时 它将正常工作 例子 这不行 this setState data newData 这确实有效 t
  • 在哪里放置资源特定逻辑

    您能帮我考虑在 AngularJS 中将资源 服务 特定的业务逻辑放置在哪里吗 我觉得在我的资源上创建一些类似模型的抽象应该很棒 但我不确定如何做 API调用 gt GET customers 1 lt first name John la

随机推荐

  • 应用层--DNS

    目录 2 4 DNS 域名系统 2 4 1 域名 域名的层级分类 域名的构成 域名管理 2 4 2 域名服务器 DNS 根名字服务器 权威服务器 TLD服务器 本地名字服务器 Local Name Server 名字服务器 Name Ser
  • mysql全局自动提交,MySQL自动提交

    在MySQL中 如果不更改其自动提交变量 则系统会自动向数据库提交结果 用户在执行数据库操作过程中 不需要使用START TRANSACTION语句开始事务 应用COMMIT或者ROLLBACK提交事务或执行回滚操作 如果用户希望通过控制M
  • 绿色经营:从优秀到卓越最显性准则

    关注 实在的力量 郑崇华与台达电的经营智慧 一书 是受 绿色企业家 的启发 绿色企业家 是美国绿色企业标杆英特飞公司的创始人雷C 安德森的自传体管理专著 联想到 从绿到金 等书 我们知道许多美国企业已经从绿色经营中实实在在获利并走上健康的发
  • Unity3D启动时卡在项目Loading界面的解决方法

    问题描述 打开U3D的时候 U3D一直卡在项目选择的界面上 一直显示 Loading 关闭重新开也不行 可能原因 项目配置发生错误 导致无法读取 一直卡Loading 解决方案 1 找到最近一次操作U3D时所加载的项目 一般大概率是这个 如
  • 数字化转型必备:数睿通 2.0 数据中台升级详解

    引言 转眼又过了一个月的时间 数睿通 2 0 数据中台也迎来了本月的更新 本次更新主要包括 数据资产完善 资源评价 数据集市完善 打通审批流程 修复数据生产由于 Druid SQLUtils 不支持 Doris 导致无法建表的问题 优化贴源
  • element-plus dialog #header无效

    这是官方文档的一个坑 来看下官方的案例 他这里使用的是 header来标记title插槽 正确应该是 title 而官网案例打开后也是看不到的自定义的标题内容的 标题这一栏是空白的 而看文档说明也是叫使用的header 这里下面还标注了ti
  • 神秘AI换脸软件入侵全球社交网络!马斯克秒变文艺复兴贵族

    人工智能学习离不开实践的验证 推荐大家可以多在FlyAI AI竞赛服务平台多参加训练和竞赛 以此来提升自己的能力 FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台 每周免费提供项目开源算法样例 支持算法能力变现以及快
  • Vue3中自定义指令监听元素尺寸变化

    vue对元素的宽高变化看了一下 基本都是用的定时器解决的 刚好看到JS的一个属性方法 可以专门监测元素的尺寸变化 MDN地址 https developer mozilla org zh CN docs Web API ResizeObse
  • JSON数据格式解析库(cJSON、Jansson)的使用&在STM32上移植和使用

    json json c使用入门 这篇讲的也不错 抽空看下 网络传输json数据 https www bilibili com video av669454528 p 3 spm id from pageDriver 目录 轻量级C语言JSO
  • 步骤教学 :安装下载Oracle VM VirtualBox + 安装win7 win10镜像文件

    网上一大堆资料 发现搜不到安装镜像文件的步骤 在自己捣鼓完了之后 决定自己写一篇 1 官网下载Oracle VM VirtualBox Downloads Oracle VM VirtualBox 2 安装好Oracle VM Virtua
  • 更改ElementUI默认样式的方法

    1 添加没有scoped的样式 页面中可以有多个 2 有scoped css原生写法 用 gt gt gt gt gt gt 前面可以是父元素或祖先元素 3 项目中用到了scss sass less 都可以使用 deep
  • TCP连接的建立与释放

    一 TCP连接的建立 1 先搭建一个合适的拓扑建立连接 这是一个已经连接好的拓扑 2 PC1 客户端 发送请求建立TCP的请求报文 图为客户端发送的TCP连接建立请求报文 此时的SEQUENCE NUMBER和ACK NUMBER的值均为0
  • 初识服务发现及Consul框架的简单使用

    1 什么是服务发现 服务发现组件记录了 大规模 分布式系统中所有服务的信息 人们或者其它服务可以据此找到这些服务 DNS 就是一个简单的例子 当然 复杂系统的服务发现组件要提供更多的功能 例如 服务元数据存储 健康监控 多种查询和实时更新等
  • 调研:暴恐识别(图像识别)by_xxzcc

    调研 暴恐识别 一 方法 分类 目标检测 人体姿态分析 1 腾讯优图 接口 https ai qq com doc imageterrorism shtml 图片分类 属性 13类 terrorists 恐怖分子 normalarmy 普通
  • 十大排序算法-桶排序(c语言实现)

    1 原理 桶排序 Bucket sort 或所谓的箱排序 是一种分块的排序算法 工作的原理是将数组分到有限数量的桶里 每个桶的大小都相等 每个桶再个别排序 有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序 把待排序序列 数组 中
  • SQL注入原理-万能密码注入

    一 学习目的 1 理解 万能密码 原理 2 学习 万能密码 的使用 二 实验环境 本机 192 168 1 2 目标机 192 168 1 3 三 举例说明 1 输入一个存在漏洞的网站 例如 http 192 168 1 3 8009 2
  • 浏览器无痕模式有什么作用,手机浏览器开启无痕模式的方法

    在我们的手机基本上都安装了浏览器 当我们在上网过程中 不想浏览记录被留下 那么开启无痕模式是非常有必要的 那么 浏览器的无痕模式有什么作用 手机浏览器如何开启无痕模式呢 下面教大家如何在手机浏览器中开启无痕模式 赶紧学一学吧 关键时刻能用上
  • 机械臂正运动学标准DH参数建立技巧

    1 切记 i 坐标系建立在i 1关节轴上 如 0 坐标系建立在关节1轴上 依次类推 6 坐标系与 5 坐标系姿态一致 固连在法兰盘接口末端 2 坐标系原点建立 若1 2轴垂直或异面垂直 则坐标系 1 原点在1轴与2轴的交点 0 坐标系原点建
  • 2.2.1 数据通信系统的模型

    一个数据通信系统分为三大部分 1 源系统 或发送端 发送方 2 传输系统 或传输网络 3 目的系统 或接收端 接收方 数据通信系统模型如下 上图中调制解调器有2个功能 1 调制 将计算机发出的低频 数字信号 转换成传输媒介可以传输的 模拟信
  • fetch中断请求, 和再次恢复使用

    业务场景 当时用fetch 建立长连接请求 在不使用时需要将其断掉 以缓解带宽压力和浏览器运行压力 等再次需要建立长链接时 再次启用 1 外层定义controller 一旦中止 AbortController就会被消耗 每次调用都必须创建新