Vue+axios 使用CancelToken多次发送请求取消前面所有正在pendding的请求

需求:

项目中 折线图数据是循环调用的,此时勾选一个设备, 会出现多条线。

原因

折线图数据一进来接口循环在调用,勾选设备时,循环调用的接口有的处于pedding状态 ,有的还在加载中,这就导致勾选设备时,页面渲染数据不及时,数据错乱的问题
在这里插入图片描述
在这里插入图片描述

勾选设备后出现 错误展示

出现多条线
在这里插入图片描述

在这里插入图片描述

正确展示

在这里插入图片描述

在这里插入图片描述
选择设备之后,将之前循环调用的接口,处于pendding状态的取消掉重新发送请求
在这里插入图片描述

完整代码

在这里插入图片描述

1.在 request.js,拦截器里 加上 取消功能
在这里插入图片描述
再编写一个取消方法
**加粗样式**

let source = axios.CancelToken.source()
// request拦截器
service.interceptors.request.use(config => {if (getToken()) {config.headers['Authorization'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改}var lang = localStorage.getItem('lang')if (!lang) {lang = 'zh_CN'}config.headers['Accept-Language'] = lang.replace(/_/g, '-')config.headers['Content-Type'] = 'application/json'config.cancelToken = source.tokenreturn config},error => {Promise.reject(error)}
)
export function cancelAllReq() {console.log('取消所有挂起状态的请求');source.cancel('取消所有挂起状态的请求');source = axios.CancelToken.source()// 创建axios实例service = axios.create({baseURL: BASE_API,timeout: Config.timeout // 请求超时时间})
}

页面中使用

在这里插入图片描述

<el-select multiple v-model="cids" clearable :placeholder="$t('NeoLight.allDe')" @change="getSearch()"><el-option v-for="item in storageOptions" :key="item.cid" :label="item.name" :value="item.cid"></el-option></el-select>
import { cancelAllReq } from '@/utils/request'
methods(){// 下拉列表触发查询接口getSearch() {cancelAllReq()//调用取消方法this.getList()//折线图方法this.getTableList();//表格方法},}       

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

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

相关文章

Maven 继承、聚合、属性

文章目录 一、继承1.1. 概念1.2. 语法1.3. 示例1.4. 其他常见使用 二、聚合2.1. 概念2.2. 示例 三、属性3.1. Java 系统属性3.2.系统环境变量属性3.3.Maven 内置属性 一、继承 1.1. 概念 当项目较大&#xff0c;为了便于开发和管理&#xff0c;经常需要将工程划分成多个 Maven…

奇迹MU架设教程:SQL Server 2008数据库的安装教程

不管是搭建什么游戏&#xff0c;都是有数据库的&#xff0c;奇迹MU用的是SQL 数据库&#xff0c;根据服务器系统选择SQL server版本&#xff0c;我比较喜欢用Windows server 2008R2系统&#xff0c;所以我安装的是SQL server 2008。作为架设奇迹很重要的数据库程序&#xff0c;…

Day13 02-Linux常用命令汇总

文章目录 第三章 Linux的常用命令【重要】3.1 命令格式的说明3.2 帮助命令3.2.1 man3.2.2 help 3.3 文件处理命令3.3.1 cd3.3.2 ls3.3.3 pwd3.3.4 mkdir3.3.5 touch3.3.6 echo3.3.7 cp3.3.8 mv3.3.9 rm3.3.10 vi编辑器3.3.11 ln 3.4 查看命令3.4.1 cat3.4.2 more3.4.3 head3.4.…

【Linux】进程概念

【Linux】进程概念 文章目录 【Linux】进程概念1、冯诺依曼体系结构2、操作系统2.1 概念2.2 设计OS的目的2.3 定位2.4 管理2.5 系统调用和库函数概念 3、进程3.1 基本概念3.2 描述进程—PCB3.3 组织进程3.4 查看进程3.5 获取进程标示符3.6 创建进程-fork初识3.7 进程状态3.7.1 …

ADC 的初识

ADC介绍 Q: ADC是什么&#xff1f; A: 全称&#xff1a;Analog-to-Digital Converter&#xff0c;指模拟/数字转换器 ADC的性能指标 量程&#xff1a;能测量的电压范围分辨率&#xff1a;ADC能辨别的最小模拟量&#xff0c;通常以输出二进制数的位数表示&#xff0c;比如&am…

分类预测 | MATLAB实现基于Attention-GRU的数据多特征分类预测(门控循环单元融合注意力机制分类预测,含混淆矩阵图、分类图)

分类预测 | MATLAB实现基于Attention-GRU的数据多特征分类预测(门控循环单元融合注意力机制分类预测&#xff0c;含混淆矩阵图、分类图) 目录 分类预测 | MATLAB实现基于Attention-GRU的数据多特征分类预测(门控循环单元融合注意力机制分类预测&#xff0c;含混淆矩阵图、分类图…

Flutter:网络图像缓存插件——cached_network_image

前言 为什么要使用这个插件&#xff0c;有什么用呢&#xff1f;毕竟官方提供了Image.network来进行网络图片加载 Image.network和CachedNetworkImage都可以用于在Flutter中加载网络图片&#xff0c;但它们之间有一些区别。 Image.network是Flutter核心库提供的一个构造函数&…

2020年国赛高教杯数学建模D题接触式轮廓仪的自动标注解题全过程文档及程序

2020年国赛高教杯数学建模 D题 接触式轮廓仪的自动标注 原题再现 轮廓仪是一种两坐标测量仪器&#xff08;见图1&#xff09;&#xff0c;它由工作平台、夹具、被测工件、探针、传感器和伺服驱动等部件组成&#xff08;见图2&#xff09;。   接触式轮廓仪的工作原理是&am…

阿里云推出“ModelScopeGPT”大模型调用工具,再添新贵

阿里云近日对外宣布将要推出其首款大模型调用工具——“魔搭GPT&#xff08;ModelScopeGPT&#xff09;”&#xff0c;从而为使用者们提供更为优质的人工智能应用支持。而作为阿里云人工智能产品家族中的新成员&#xff0c;这一创新工具也将进一步扩展阿里云在人工智能领域的影…

Stable Diffusion - ChatGPT4 与 Stable Diffusion 结合提供无限创意构图

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/131782672 ChatGPT 和 StableDiffusion 结合使用的优势&#xff1a; 高效率&#xff1a;ChatGPT 可以在很短的时间内完成复杂的语言任务&#xf…

05 Docker 安装常用软件 (mongoDB)

目录 1. mongoDB简介 1.1 mongodb的优势 2. mongodb的安装 2.1 创建数据文件夹 2.2 备份日志 2.3 配置文件夹 2.4 创建两个文件 ---> 2.4.1 配置如下: 2.5 拉取mongodb 2.6 运行容器 2.7 进入mongodb容器 ---> 2.7.0 高版本(6.0)以上是这样的 , 旧版的没研究 …

再度合作|极智嘉(Geek+) P系列拣选机器人进驻CEVA欧洲物流中心

近日&#xff0c;3PL巨头CEVA Logistics首度在社交媒体展示其与极智嘉(Geek)合作打造的全新欧洲物流中心&#xff0c;并在推文中对极智嘉(Geek)给予了高度赞扬。CEVA表示&#xff0c;极智嘉不仅彻底颠覆了CEVA的工作环境&#xff0c;还充分保障了敬业员工的安全和人体工程学效率…