axios封装取消请求的方式

问题:项目中涉及tab切换页,tab1和tab2列表数据字段相同,所以一般使用el-tabs组件;el-tabs中的每一项el-tab 是通过v-for遍历产生的,所有的每一项el-tab中的table表格数据使用的是一个tableData存储的;此时会有问题;我们点击tab1时发送请求获取数据保存在tableData中,点击tab2时发送请求获取数据同样保存在tableData中,有时候如果tab1的请求较慢,我们从tab1切换到tab2,tab2的数据先请求回来,tab1的数据后请求回来,会导致tab1的数据覆盖tab2的数据;

解决方案:

(1)对于app来说,一般请求接口会有全局loading,所以不需要考虑’

(2)对于PC来说,如果只有两个tab页,我们完全可以定义两个tableData1,2分别存储tab1和tab2的数据

(3)对于很多个tab怎么处理:定义一个对象dataObj:{},当我们点击tab时可以根据请求结果为该对象添加响应式属性,eg:tab1请求到的数据设置this.$set(dataObj,1,dataRet1);tab2对应this.$set(dataObj,2,dataRet2);也不是完美方案,很多个模块都有tab页,需要为每个模块的tab都这样处理

(4)配置axios取消请求:

1.定义一个map集合存储我们接口数据,map集合键key是我们请求接口(请求方式post+请求路径url),值为cancle—取消请求的函数,每一次请求时都会存储,请求成功后在响应拦截器中去除掉此次请求的存储记录

2、我们在axios请求拦截器中进行收集(key:请求方式post+请求路径url,value:axios.CancelToken—生成一个cancel令牌),即在map集合中收集我们每次发起的请求,然后进行判断,如果当前请求在pending中即存在于map集合中,我们发起同样的请求时就要取消掉我们上次的请求;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

leecode172 | 阶乘后的零 | 傻瓜GPT

题意 给定一个整数 n ,返回 n! 结果中尾随零的数量。提示 n! n * (n - 1) * (n - 2) * ... * 3 * 2 * 1//题解 class Solution { public:int trailingZeroes(int n) { // ...*(1*5)*...*(x*5)*...*(1*5*5)*...*(x*5*5)*...*n 然后倒过来 //...∗(1∗5)∗...∗…

电脑文件msvcr120.dll丢失怎样修复?一键修复msvcr120.dll的方法

近期发现众多用户向小编询问关于“msvcr120.dll文件应该放置在何处”的问题,这可能暗示着该文件丢失的情况变得普遍。面对这种情况,小编认为有必要向大家提供一个详尽的指导,帮助解决 msvcr120.dll 文件丢失的难题。接下来,让我们…

Vivado-IP核

Vivado-IP核 主程序 timescale 1ns / 1ps ////module ip_clk_wiz(input sys_clk,input sys_rst_n,output clk_out1,output clk_out2,output clk_out3,output clk_out4,output locked);clk_wiz_0 instance_name(// Clock out ports.clk_out1(clk_out1), // output clk_out…

ElasticSearch-SpringBoot整合ElasticSearch

六、SpringBoot整合ElasticSearch 1、浏览官方文档 1、查找跟ES客户端相关的文档 使用Java REST Client 选择Java Hight Level REST Client 2、创建项目的准备 1.找到原生的依赖 2.找到对象 3.分析这个类里面的方法 3、正式创建项目 1.创建工程 2.导入依赖 注意依赖版本…

华为视频监控接入到视频监控平台 (华为网路监控摄像机IPC和华为视频节点设备VCN)

目 录 一、设备介绍 1.1 华为VCN介绍 1.2 AS-V1000视频监控平台介绍 1.3 平台服务器配置说明 二、安装、配置HW_IVS软件 2.1下载安装HW_IVS软件 2.2登录HW_IVS 2.3共享到外域 三、配置华为外域参数 3.1 PCG模块设置 3.2通信协议GBT28181配置 3.3传…

OpenCV 图像处理六(傅里叶变换、模板匹配与霍夫变换)

文章目录 一、傅里叶变换1.1 NumPy实现和逆实现1.1.1 NumPy实现傅里叶变换Demo 1.1.2 NumPy实现逆傅里叶变换Demo 1.2 OpenCV实现和逆实现1.2.1 OpenCV实现傅里叶变换Demo 1.2.2 OpenCV实现逆傅里叶变换Demo 1.3 频域滤波1.3.1低频、高频1.3.2 高通滤波器构造高通滤波器Demo 1.…

[嵌入式AI从0开始到入土]13_orangepi aipro开箱测评

[嵌入式AI从0开始到入土]嵌入式AI系列教程 注:等我摸完鱼再把链接补上 可以关注我的B站号工具人呵呵的个人空间,后期会考虑出视频教程,务必催更,以防我变身鸽王。 第1期 昇腾Altas 200 DK上手 第2期 下载昇腾案例并运行 第3期 官…

【算法设计与分析】最小覆盖字串

📝个人主页:五敷有你 🔥系列专栏:算法分析与设计 ⛺️稳中求进,晒太阳 题目 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回…

支持534种语言,开源大语言模型MaLA-500

无论是开源的LLaMA 2还是闭源的GPT系列模型,功能虽然很强大,但对语言的支持和扩展比较差,例如,二者都是以英语为主的大模型。 为了提升大模型语言的多元化,慕尼黑大学、赫尔辛基大学等研究人员联合开源了,…

python创建pdf文件

目录 一:使用reportlab库 二:使用使pdf库 在Python中生成PDF文件可以使用多种库,其中最常用的是reportlab和fpdf。以下是使用这两个库生成PDF文件的示例代码: 一:使用reportlab库 1:写入文字信息 from r…

【深度学习理论】持续更新

文章目录 1.统计学习理论 1.统计学习理论 统计学习理论,一款适合零成本搞深度学习的大冤种的方向 从人类学习到机器学习的对比(学习的过程分为归纳和演绎 ),引出泛化和过拟合的概念。 如何表示归纳的函数规律呢?以监督…

XAI:探索AI决策透明化的前沿与展望

文章目录 📑前言一、XAI的重要性二、为什么需要可解释人工智能三、XAI的研究与应用四、XAI的挑战与展望 📑前言 随着人工智能技术的快速发展,它已经深入到了我们生活的方方面面,从智能手机、自动驾驶汽车到医疗诊断和金融投资&…