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

直接上码:

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.mzph.cn/news/834286.shtml

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

相关文章

​「Python绘图」绘制太极图

python 绘制太极 一、预期结果 二、核心代码 import turtlepen turtle.Turtle()print("开始绘制太极")radius 100 pen.color("black", "black") pen.begin_fill() pen.circle(radius/2, 180) pen.circle(radius, 180) pen.left(180) pen.circ…

Linux---C/C++编程:syscall(系统调用)、SYS_gettid在muduo库中的使用以及static_cast

一、概念 系统调用与用户自定义函数相同,属于一个函数,但是系统调用运行在内核态,而用户自定义函数运行在用户态。由于某些指令(如设置时钟、关闭/打开中断和I/O操作等)只能运行在内核态,所以操作系统提供…

c++ libtorch使用cmake建立

如果我们安装好pytorch,其实不一定一定要安装libtorch,默认都已经安装过了 1 进入pytorch conda env list conda activate pytorch 命令行下使用 python -c 来获取libtorch的基本信息, python -c "import torch;print(torch.utils.c…

区块链的可扩展性三难问题

这个词是由以太坊的联合创始人Vitalik Buterin创造的,并提出了理想的区块链需要具备的三个特征:去中心化、可扩展性和安全性。 Vitalik还提出,区块链几乎不可能很好地实现所有这三个特征,所以会出现权衡。 因此,今天…

Android使用itextpdf操作PDF文档

1、导入jar包: itext-asian.jaritextpdf-5.5.8.jar Paragraph 和 Phrase 的区别: 在 iTextPDF 库中,Paragraph 和 Phrase 是用于创建和组织文本内容的两个不同的类。 Paragraph(段落): Paragraph 是一个…

static静态成员变量和静态方法

当有new创建一个对象的,里面属性和方法,通过构造函数,能定义多个不同的对象,在我们做面向对象开发的时候,给一个场景,人在一个班级的时候,你的老师可能是固定的。 当我们用构造方法去构造的时候,每次都去传递一个固定的实参去定义个老师。 这样好会显得代码非常的…

SOCKET编程(1):基本概念

基本概念 socket分类 socket提供了**流(stream)和数据报(datagram)**两种通信机制,即流socket和数据报socket 流socket基于TCP协议,是一个有序、可靠、双向字节流的通道,传输数据不会丢失、不会重复、顺序也不会错乱 数据报socket基于UDP…

通过父类定义日志输出

1、定义基类: public class BaseController {public Class clazz null;public Logger log null;{clazz this.getClass();log LoggerFactory.getLogger(clazz);} } 2、子类统一继承该基类: RestControllerpublic class AAAController extends Base…

Powerdesigner导入mysql8之后注释丢失

目录 一、问题描述及解决思路 二、导入的步骤 1.先按正常步骤建立一个物理数据模型 (1)点击“文件-新建模型” (2)选择物理模型和数据库 2.从sql文件导入表 (1)点击“数据库-Update Model from Data…

【Redis7】10大数据类型之Set类型

文章目录 1.Set类型2.常用命令:3.示例3.1 SADD,SMEMBERS和SISMEMBER3.2 SREM和SCARD3.3 SRANDMEMBER和SPOP3.4 SMOVE 4.集合运算相关命令4.1 集合交集 (SINTER)4.2 集合并集 (SUNION)4.3 集合差集 (SDIFF)4.4 Redis7新命令sintercard 1.Set类型 Redis的Set类型是一…

正则表达式-前瞻和后顾

正则表达式中的前瞻和后顾。 前瞻(Lookahead) 前瞻是一种断言,它会检查在当前位置之后是否存在某种模式,但不会实际匹配该模式。前瞻有两种形式: 正向前瞻 (?pattern) 检查当前位置之后是否存在指定的模式如果存在,则匹配成功,但不会消耗该模式例如 \w(?\d) 将匹配后面跟数…

RAG 场景对Milvus Cloud向量数据库的需求

虽然向量数据库成为了检索的重要方式,但随着 RAG 应用的深入以及人们对高质量回答的需求,检索引擎依旧面临着诸多挑战。这里以一个最基础的 RAG 构建流程为例:检索器的组成包括了语料的预处理如切分、数据清洗、embedding 入库等,然后是索引的构建和管理,最后是通过 vecto…

【Redis7】10大数据类型之Bitmap类型

文章目录 1.Bitmap(位图)2.常用命令3.示例3.1 SETBIT和GETBIT3.2 STRLEN3.3 BITCOUNT3.4 BITOP 1.Bitmap(位图) Redis的Bitmap类型并不是一个独立的数据类型,而是对String类型的一种巧妙使用,允许开发者以位级别操作字符串中的数据。Bitmap可以视为一个…

学习笔记:【QC】Android Q : telephony-phone 模块

一、phone init 流程图 高清的流程图参考:【高清图,保存后可以放大看】 二、phone MO 流程图 高清的流程图参考:【高清图,保存后可以放大看】 三、phone MT 流程图 高清的流程图参考:【高清图,保存后可以…

MySQL慢查询优化【二】

当处理MySQL慢查询优化时,通常需要考虑以下几个方面: 索引优化:确保查询涉及的列上存在适当的索引,以加快数据检索速度。可以通过使用EXPLAIN语句来查看查询执行计划,并评估是否使用了索引。举例来说,如果…

提升工作效率,用ONLYOFFICE打造高效团队协作环境

作为一名深耕技术领域已有六七年的开发者,同时又是断断续续进行技术创作将近六年的一个小小作者,我在工作和日常生活中,使用过各色各样的软件。 而在最近几年,一款名为ONLYOFFICE的开源办公套件逐渐走进并融入我的工作与生活&…

paraview 处理 fluent 计算结果

paraview 处理 fluent 计算结果 参考链接:https://zhuanlan.zhihu.com/p/598032490 希望先生的主页也很有价值:https://www.cnblogs.com/Xiwang-Sun/p/14943429.html

Edge浏览器的前端开发体验与深度探索

Edge浏览器作为一款备受关注的现代浏览器,在前端开发领域扮演着重要的角色。在这篇博文中,我将分享我对Edge浏览器的使用心得与深度探索,探讨其在前端开发中的优势和特点。 1. Edge浏览器的优势 a. 兼容性 Edge浏览器注重兼容性&#xff0c…

String是最基本的数据类型吗?

在Java编程语言的语境中,探讨“String是否是最基本的数据类型”是一个深入且富有意义的话题。首先,我们需要明确“基本数据类型”的定义,并在此基础上探讨String的特性及其在编程中的角色。 一、基本数据类型的定义 基本数据类型&#xff0…

如何在适用于 Linux 的 Visual Studio Code 中使用 .NET 8 上的 FastReport Avalonia

我们将继续撰写有关在各种操作系统上的 Visual Studio Code 中使用 FastReport Avalonia 的系列文章。在本文中,我们将详细分析如何使用 Visual Studio Code IDE 在 Linux 操作系统上运行 FastReport Avalonia。 Avalonia UI 是一个积极用于开发跨平台用户界面的 .…