news 2026/4/3 6:40:36

Axios网络请求优化(缓存)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Axios网络请求优化(缓存)

合理使用缓存,避免重复请求

// 通过缓存机制,存储已经发出的请求结果,如果同样的请求再次发起, // 直接从缓存中获取数据,而不是重新发请求。 import axios from "axios"; // 缓存对象 const cache = new Map<string, any>(); // 封装带缓存的请求函数 async function axiosWithCache(url: string): Promise<any> { if (cache.has(url)) { console.log(`从缓存中获取数据: ${url}`); return cache.get(url); } console.log(`发送网络请求: ${url}`); const response = await axios.get(url); // 将结果存入缓存 cache.set(url, response.data); return response.data; } // 使用示例 (async () => { const url = "https://jsonplaceholder.typicode.com/todos/1"; const result1 = await axiosWithCache(url); // 第一次请求 console.log(result1); const result2 = await axiosWithCache(url); // 从缓存获取 console.log(result2); })();

使用 abortController 取消不再需要的请求。

// 当用户离开页面或切换视图时,取消掉未完成的请求以节省资源。 // 封装请求函数,支持 AbortController import axios from "axios"; // 封装带取消功能的请求函数 async function axiosWithAbort(url: string, controller: AbortController): Promise<any> { try { const response = await axios.get(url, { signal: controller.signal, // 绑定 AbortController 的 signal }); return response.data; } catch (error: any) { if (axios.isCancel(error)) { console.log(`请求已取消: ${url}`); } else { console.error("请求失败", error); } throw error; } } // 使用示例 (async () => { const controller = new AbortController(); const url = "https://jsonplaceholder.typicode.com/todos/1"; // 模拟请求 const fetchPromise = axiosWithAbort(url, controller); // 模拟用户取消请求 setTimeout(() => { controller.abort(); // 取消请求 }, 100); try { const result = await fetchPromise; console.log(result); } catch (error) { console.log("请求未完成,已被取消"); } })();
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/25 18:38:14

车辆轮胎寿命预测检测数据集介绍-410张图片 车辆安全检测 车队管理和维护 智能汽车与ADAS系统 轮胎生产质量控制 道路交通监管 二手车评估与交易

&#x1f4e6;点击查看-已发布目标检测数据集合集&#xff08;持续更新&#xff09; 数据集名称图像数量应用方向博客链接&#x1f50c; 电网巡检检测数据集1600 张电力设备目标检测点击查看&#x1f525; 火焰 / 烟雾 / 人检测数据集10000张安防监控&#xff0c;多目标检测点…

作者头像 李华
网站建设 2026/3/31 6:10:33

口腔医学X光影像诊断检测数据集介绍-274张图片 临床辅助诊断 牙科影像自动分类 口腔疾病研究 远程医疗系统 医学教育培训

&#x1f4e6;点击查看-已发布目标检测数据集合集&#xff08;持续更新&#xff09; 数据集名称图像数量应用方向博客链接&#x1f50c; 电网巡检检测数据集1600 张电力设备目标检测点击查看&#x1f525; 火焰 / 烟雾 / 人检测数据集10000张安防监控&#xff0c;多目标检测点…

作者头像 李华
网站建设 2026/3/27 20:55:43

孤能子视角:“细胞“与“孤能子“

(生物学有个原理:一切细胞来自细胞。姑且当科幻小说看)我的问题:1.细胞来自于细胞&#xff0c;像不像我们的孤能子。2.自主分析一下细胞。(注:前面有篇文"细胞的动力学"。因为上下文(即语境或场域)不一样&#xff0c;同样的分析方法AI给出的结果会不一样)3.一切细胞来…

作者头像 李华
网站建设 2026/3/31 10:17:52

终极NBTExplorer指南:3步学会我的世界数据编辑

终极NBTExplorer指南&#xff1a;3步学会我的世界数据编辑 【免费下载链接】NBTExplorer A graphical NBT editor for all Minecraft NBT data sources 项目地址: https://gitcode.com/gh_mirrors/nb/NBTExplorer 你是否曾看着别人的我的世界存档里那些神奇的功能&#…

作者头像 李华