千家信息网

vue中axios怎么实现重复点击取消上一次请求封装

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,本篇内容主要讲解"vue中axios怎么实现重复点击取消上一次请求封装",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"vue中axios怎么实现重复点击取消
千家信息网最后更新 2025年02月05日vue中axios怎么实现重复点击取消上一次请求封装

本篇内容主要讲解"vue中axios怎么实现重复点击取消上一次请求封装",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"vue中axios怎么实现重复点击取消上一次请求封装"吧!

使用场景

重复点击或者多tab标签使用一个视图等(当然也可以用加载中或者透明背景禁止请求中再次点击)

封装代码

来自于互联网

let pending = []; //声明一个数组用于存储每个请求的取消函数和axios标识let cancelToken = axios.CancelToken;let removePending = (config) => { for(let p in pending){  if(pending[p].u === config.url + '&' + config.method) { //当当前请求在数组中存在时执行函数体   pending[p].f(); //执行取消操作   pending.splice(p, 1);   } }}// http请求拦截器axios.interceptors.request.use(config => { removePending(config); //在一个axios发送前执行一下取消操作 config.cancelToken = new cancelToken((c)=>{  // 这里的axios标识我是用请求地址&请求方式拼接的字符串,当然你可以选择其他的一些方式  pending.push({ u: config.url + '&' + config.method, f: c });  });  return Promise.resolve(config)}, error => { return Promise.reject(error)})// http响应拦截器axios.interceptors.response.use(data => {   removePending(data.config); //在一个axios响应后再执行一下取消操作,把已经完成的请求从pending中移除  return Promise.resolve(data) }, error => { //加载失败 return {'data':{}} // return Promise.reject(error)})

经过多次测试发现不同请求也给我取消了,原因是没有校验请求参数,也就是说get请求可以用,修改以下代码

pending.push({ u: config.url + '&' + config.method, f: c });

修改为:

pending.push({ u: config.url + JSON.stringify(config.data) +'&' + config.method, f: c });//config.data为请求参数

上面判断也需要修改,这样get请求和post都可以用了

到此,相信大家对"vue中axios怎么实现重复点击取消上一次请求封装"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

封装 上一 代码 内容 函数 参数 数组 方式 标识 拦截器 学习 不同 实用 更深 也就是 也就是说 互联网 兴趣 再次 原因 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 更新电脑之后代理服务器连接失败 pdb蛋白数据库蛋白结构 公安局网络安全管理岗位 真题 浪潮服务器怎么开启网口 网络安全微信推文内容 网络实验室管理控制服务器 通讯网络技术详解 公安网络安全考试题库 数据库开发与分析就业前景 台湾免费代理服务器网站 网络安全测量指标 大数据服务器企业税收 软件开发进华为难吗 广域科技网络安全措施 武汉国家网络安全学院在那 数据库每天新增一亿数据 派出所开展网络安全周活动 重庆光大网络技术有限公司内江 我的世界多人搜索不到服务器 简单的手机软件开发 怀旧服新服务器数据异常 阿里云服务器费用 网络安全现状和展望 近邻青岛云触网络技术 数据库审计系统一般多少钱 金水区网络安全系列 巨神峰服务器 软件开发 工业运用 云南省网络安全管理制度 球球大作战中心服务器怎么安装
0