关于如何取消数据请求的操作

news2024/11/16 3:33:38

直接上码:

class RequestManager {
  constructor() {
    this.requestQueue = []
  }
  addRequestQueue(axios) {
    // 创建取消令牌
    const cancelToken = axios.CancelToken.source()
    this.requestQueue.push(cancelToken.cancel)
    return cancelToken.token
  }
  clearRequestQueue() {
    this.requestQueue = []
  }
  cancelRequestQueue() {
    this.requestQueue.forEach(cancel => {
      cancel()
    })
    this.clearRequestQueue()
  }
}
const sharedRequestManager = new RequestManager()
export default sharedRequestManager

使用:直接引入调用:::

import axios from 'axios';
import sharedRequestManager from './RequestManager';

// 发起请求并加入队列
function fetchData() {
  const config = {
    url: 'https://api.example.com/data',
    method: 'get',
    cancelToken: sharedRequestManager.addRequestQueue(axios)
  };
  
  axios(config)
    .then(response => {
      console.log('数据获取成功', response.data);
    })
    .catch(error => {
      if (axios.isCancel(error)) {
        console.log('请求被取消');
      } else {
        console.error('请求失败', error);
      }
    });
}

// 假设我们发起了多个请求...
fetchData();
fetchData();

// 单独取消最后一个请求(这一步需要你有办法引用对应的cancelToken)
// 注意:这个例子是示意性的,实际中需要适当管理cancelToken
// const lastRequestCancelToken = ...;
// lastRequestCancelToken();

// 或者取消所有请求
sharedRequestManager.cancelRequestQueue();

可如下::
1、请求拦截处 创建取消令牌
在这里插入图片描述
2、切换页面的时候,调用取消
在这里插入图片描述

参开:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1656556.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Android】Kotlin学习之数据容器(数组for循环遍历)

数组遍历 1. for ( item in arr){…} 2. for ( i in arr.indeces ) {…} (遍历下标) 3. for ((index, item) in arr.withInfex()) {…} (遍历下标和元素) 4. arr.forEach {} ( 遍历元素 ) 5. arr.forEachIndexed{index, item -> …}

刷!简单的转录组分析+Cytoscape三小时工作量,思路易复现

说在前面 两样本孟德尔随机化应该大伙都了解的不少,不过今天看到一篇,有点“料”的文章,一句话总结:Cytoscape乱拳打死老师傅,通篇除了WGCNA、差异分析是作为常规的转录组分析方法,剩下的几乎都是ClueGO的…

C盘文件清理

WinSxS里面的文件是不可删除的。WinSxS下有很多重要的组件,版本也很繁杂,为了保证Windows的正常运行,请确保这些文件一个都不能少。这些文件支撑着mscorwks.dll,没有它们,mscorwks也无法加载。强行删除后可能只有以安全…

大模型日报|今日必读的 8 篇大模型论文

大家好,今日必读的大模型论文来啦! 1.清华、智谱AI 团队推出代码评测基准 NaturalCodeBench 大型语言模型(LLM)在为生产活动生成代码方面表现出强大的能力。然而,目前的代码合成基准,如 HumanEval、MBPP …

Latex编辑器WinEdt修改正文字体大小方法,防止字体大小对眼睛不好

一、背景 使用Latex编辑器WinEdt写论文时,默认的正文字号太小,看起来比较累眼,如下图所示。但是该编辑器没有简单的设置菜单,不能一键修改字体大小。因此通过百度测试以下方法可以,特记录如下。 二、WinEdt修改正文字…

院校信息 | 伯明翰大学24Fall新增3个专业!附截止时间!

伯明翰大学针对2024年秋季入学,推出3个新的授课型硕士项目: MSc Financial Data Science 金融数据科学理学硕士 MSc Statistical Data Science 统计学数据科学理学硕士 MSc Statistics 统计学理学硕士 以上所有课程24fall申请截止时间为6月1日&#xf…

2024年,UTONMOS也许能带领元宇宙走向下一个征程

“元宇宙元年”开启时,科技的触角企图在0与1构成的世界里、安放可以数字化的一切,绘制出时间与空间的虚拟延长线。 尼尔斯蒂芬森笔下的虚拟城市沿着一条100米宽的道路发展,楼宇上的电子标志在昏暗的街区蔓延,人们可以通过虚拟现实…

一站式HMI软件开发套件eStation,让开发更简单高效

4月份举办的北京国际车展上全球首发车117辆,新能源车型278个,越来越多的车厂通过差异化和改善UI/UE体验,来获取更多用户的青睐。为快速响应差异化竞争需求,智能座舱HMI市场遇到以下挑战: 如何兼容不同项目开发人员编程…

MySQL利用变量进行查询操作

新建连接,自带world数据库,里面自带city表格。 # MySQL利用变量进行查询操作 set cityNameHaarlemmermeer; select * from city where NamecityName;# 多个结果查询 set cityName1Haarlemmermeer; set cityName2Breda; set cityName3Willemstad; selec…

个人直播/流媒体服务解决方案实践

目录 1. 说明 1.1 拓扑结构图 2. 准备工作 2.1 软硬件清单 3. 步骤 3.1 按上面的软硬件清单准备好材料 3.2 内网检查测试 3.3 透传到公网服务器 3.5 机顶盒配置 4. 总结 5. 参考 6. 后语 1. 说明 - 在本地局域网建立流媒体服务,并发布到公网服务器供终…

读天才与算法:人脑与AI的数学思维笔记22_中文房间

1. 华生的工作模式 1.1. 请你想象一个巨大的场景,其中有单词、名字和其他可能的答案,它们散布在各处 1.1.1. IBM所做的第一步是以某种连贯的方式排列单词 1.1.2. 第二步是理解每个问题,并为该问题生成候选位置标记 1.1.2.1. 爱因斯坦会演…

ChatGPT Web Midjourney一键集成最新版

准备工具 服务器一台 推荐使用浪浪云服务器 稳定 安全 有保障 chatgpt api 推荐好用白嫖的api 项目演示 项目部署 浏览器访问casaos 添加软件原添加 https://gitee.com/langlangy_1/CasaOS-AppStore-LangLangy/raw/master/chatmjd.zip 安装此软件 等待安装 安装后再桌面设置…

开发Web3 ETF的技术难点

开发Web3 ETF(Exchange-Traded Fund,交易所交易基金)软件时,需要注意以下几个关键问题。开发Web3 ETF软件是一个复杂的过程,涉及到金融、法律和技术多个领域的专业知识。开发团队需要综合考虑上述问题,以确…

和comate一起,用JavaScript实现一个简易版五子棋小游戏

前言 五子棋起源于中国,是全国智力运动会竞技项目之一,是一种两人对弈的纯策略型棋类游戏。双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成五子连珠者获胜。 这次和Baidu Comate智能代码助手共同完成这个小游戏…

设置LCD为第二终端

我一直使用xshell端,开发板通过串口和 xshell进行通信。 调试好LCD 驱动之后,可以设置 LCD 作为终端,也就是开发板使用自己的显示 设备作为自己的终端,然后接上键盘就可以直接在开发板上敲命令了,将 LCD 设置为终端控制…

wish、亚马逊怎么给店铺引流?怎么运用自养号测评提高流量的转化率?

作为全球知名的跨境电商平台,wish、亚马逊为卖家提供了一个拓展海外市场的机会。然而,在wish、亚马逊平台上建立和经营一家成功的店铺需要有效的引流策略。那么,Wish、亚马逊怎样才能给店铺引流呢? 一、Wish、亚马逊怎么给店铺引…

C++STL细节,底层实现,面试题04

文章目录 19. STL19.1. 序列容器19.1.1. vector19.1.1.1. 底层实现和特点19.1.1.2. 常用函数19.1.1.3. emplace_back() vs push_back() 19.1.2. array19.1.2.1. 底层实现和特点19.1.2.2. 常用函数 19.1.3. deque19.1.3.1. 底层实现和特点19.1.3.2. 常用函数 19.1.4 list19.1.4.…

CentOS常用命令有哪些?

目录 一、CentOS常用命令有哪些? 二、不熟悉命令怎么办? 场景一:如果是文件操作,可以使用FileZilla工具来完成 场景二:安装CentOS桌面 一、CentOS常用命令有哪些? CentOS 系统中有许多常用命令及其用法…

计算机SCI期刊,IF=9.657,1区TOP,2周内出版!

一、期刊名称 Neural Networks 二、期刊简介概况 期刊类型:SCI 学科领域:计算机科学 影响因子:7.8 中科院分区:1区TOP 出版方式:订阅模式/开放出版 版面费:选择开放出版需支付$3350 三、期刊简介 神…

Android Compose 一:基础控件

Flutter 与 Compose 组件辣么像,难道是同一个google团队整的;也未深究,只是猜测。 创建项目 需要使用新版本Android studio,忽略步骤… 项目目录 MainActivity说明 1 系统默认页面 Preview 修饰的方法,只用来供开发…