axios实现本地缓存

2023-10-30

import axios from 'axios'

// 线上数据库
// axios.defaults.baseURL = "XXXXXXXXXXXXX"

// 测试数据库
axios.defaults.baseURL = "http://192.168.1.25:8080"

axios.defaults.timeout = 2500;

// 添加请求拦截器
axios.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
axios.interceptors.response.use(function (response) {

  // 对响应数据做点什么
  localStorage.setItem(response.config.url, JSON.stringify(response))
  return response;
}, function (error) {
  // 对响应错误做点什么
  return JSON.parse(localStorage.getItem(error.config.url))
});


export default axios

先上代码

这里对axios进行封装,在请求成功之后将数据转换为JSON并存储在localStorage里(通过请求的URL保存),在响应错误的时候,通过error.config.url获取请求的URL,之后从本地将localStorage的数据取出来转换一下格式就可以了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

axios实现本地缓存 的相关文章

随机推荐

  • 复制指定文件夹中的文件到另一个文件夹中(简单详细)

    操作系统 ubuntu 语言 python 要求 从文件夹中取出所有索引为 6的文件保存到新的文件夹中 完整代码如下 import os import re import shutil def copyfiles source files
  • 基于Java的仓库管理系统

    博主介绍 22届程序员一枚 源码获取加V qq2056908377 页面样式 仓储管理系统 本设计为一个基本的仓库管理系统 程序功能比较简单 贴近实际 系统用户权限控制采用RBAC0模型 权限 角色 用户 既提升了效率 也有很大的拓展性 业
  • MockMvc 单元测试样例

    前言 老实我以前也没写过单元测试 小公司没要求 都是postman自测OK就提交了 这里第一次写 还废了点时间 做个笔记下次直接抄吧 jar包版本号
  • 2 Swagger3 HelloWorld实现 结合SpringBoot2

    第一步 我们新建一个SpringBoot项目 加一个Spring Web依赖 加下Swagger依赖
  • [管理与领导-85]:IT基层管理者 - 核心技能 - 高效执行力 - 10 - 高效执行力的9个段位

    目录 前言 一段 准确执行 快速反应 坚决执行 态度很重要 二段 结果导向 苦劳过后 有功劳 有结果很重要 三段 有始有终 主动反馈 有始有终 即时汇报 不断改进 持续很重要 四段 结果到位 做事提前量 超越期望 提前和可预期很重要 五段
  • sun m4000 服务器文档,文档2、安装配置sun enterprise m4000主机.doc(13页)-原创力文档...

    青州码头小型机项目实施方案 Solaris 10 U7 Oracle 10g ZFS Sun Cluster 3 2 U2 文档二 安装配置SUN Enterprise M4000 主机 一 配置M4000 主机控制卡 管理控制台 1 使用
  • 芯片设计中的时钟与约束

    1 同步电路与异步电路 首先来谈谈同步电路与异步电路 那么首先就要知道什么是同步电路 什么是异步电路 对于同步时序电路 不同的文章有不同的说法 大致有下面的定义方法 对于比较严格的定义 一个电路是同步电路 需要满足一下条件 每一个电路元件是
  • phpMyAdmin配置与安装 (适用于CentOS7)

    一 LNMP或LAMP的配置 phpMyAdmin运行在该架构中 注 php fpm出厂默认使用者和拥有者为apache 所以相比较来说LAMP更适合 本例以LNMP为架构 1 nginx安装 并设置开机自启动 root cy ed03 l
  • 【React】React路由概念

    文章目录 1 路由概述 1 1 后端路由 1 2 前端路由 2 SPA 3 前端路由两种模式 3 1 hash模式 3 2 history模式 1 路由概述 路由 简单来说 路由是根据不同的url地址展示不同的内容或页面 一个路由就是一个映
  • echarts x坐标文字换行显示

    xAxis type category data axisLabel 坐标轴刻度标签的相关设置 interval 0 显示一竖条 formatter function value return value split join n 一行显示
  • 给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。

    给定一个数组nums 编写一个函数将所有0移动到数组的末尾 同时保持非零元素的相对顺序 要求 1 必须在原数组上操作 不能拷贝额外的数组 2 尽量减少操作次数 3 注意时间空间复杂度 输入 0 1 0 3 12 输出 1 3 12 0 0
  • Linux文件权限分段说明

    Linux文件权限分段说明 Linux中的文件属性权限描述一共10位长度 并分为四段 如 rwxrwx 一共十位 第一段占一位 代表文件类型 其中例子中的 代表普通文件 其余的表示还有 文件类型部分 文件 d 文件夹 l 链接文件 可以理解
  • nginx解析PHP特卡,nginx解析PHP程序报错的解决方案

    root server 2 log tail f nginx error log 2019 07 31 01 51 02 error 26151 0 52 FastCGI sent in stderr Primary script unkn
  • Springboot 文件处理导入导出

    简单记录下使用Springboot进行文件与后端交互 excel前台导出等内容 这里用到了 elelemt ui HTML vue Springboot框架 一 后台导入 HTML
  • VBS加载微软网页控件webview2(Edge-Chromium谷歌内核)

    VBS加载微软网页控件webview2 Edge Chromium谷歌内核 VBA加载Webview2浏览器内核 代替了ie的webbrowser控件 效果类似 资源 VBS加载webview2控件代替ie的webbrowser Edge
  • Oracle UTL_HTTP(收集汇总有用资料)

    From Oracle The UTL HTTP package makes Hypertext Transfer Protocol HTTP callouts from SQL and PL SQL You can use it to a
  • shell脚本中任意输入三个数,输出最大值

    Linux下用shell脚本任意输入三个数 输出最大值 bin bash read p 请输入第一个数 n1 read p 请输入第二个数 n2 read p 请输入第三个数 n3 max n1 if n2 gt max then max
  • 同态加密简介

    同态加密概述 基本概念 同态加密 Homomorphic Encryption HE 指将原始数据经过同态加密后 对密文进行特定的运算 得到的密文计算结果在进行同态解密后的得到的明文等价于原始明文数据直接进行相同计算所得到的数据结果 历史与
  • 快速加入Health Kit,一文了解审核流程

    HUAWEI Health Kit是为华为生态应用打造的基于华为帐号和用户授权的运动健康数据开放平台 在获取用户授权后 开发者可以使用Health Kit提供的开放能力获取运动健康数据 基于多种类型数据构建运动健康领域应用与服务 为用户打造
  • axios实现本地缓存

    import axios from axios 线上数据库 axios defaults baseURL XXXXXXXXXXXXX 测试数据库 axios defaults baseURL http 192 168 1 25 8080 a