当前位置: 首页 > news >正文

Vue项目使用axios配置请求拦截和响应拦截以及判断请求超时处理提示

 

  哈喽大家好啊,最近做Vue项目看到axios

  axios官网:起步 | Axios 中文文档 | Axios 中文网 (axios-http.cn)​​​​​​

  重要点:

         axios是基于Promise封装的

         axios能拦截请求和响应

         axios能自动转换成json数据

        等等

安装:

$ npm install axios

  1. Vue项目中使用axios实现请求拦截

import axios from 'axios';// 引入axiosconst httpAxios = axios.create({});// 创建实例let config = {TIMEOUT: 600000,//设置超时时间为10min
};// axios 配置超时时间
httpAxios.defaults.timeout = config.TIMEOUT;// axios设置  请求拦截httpAxios.interceptors.request.use(// config配置选项config => {console.log(config,'1')return config;},// errorerror => {return Promise.reject(error);})
  1. Vue项目中使用axios实现响应拦截

 // axios响应拦截httpAxios.interceptors.response.use(// response响应成功response => {const config = response.config;console.log(config,'2')return response;},// 响应errorerror => {const config = error.config;console.log(config,'3')if(error.message.includes('timeout')) {return Promise.reject('timeout');// reject这个错误信息// 判断请求异常信息中是否含有超时timeout字符串}return Promise.reject('网络链接失败,请稍后再试!')})
  1. 封装axios请求

export const getHttpInfo = function (data) {return new Promise((resolve, reject) => {let token = ''if (data.headers) {token = data.headers.Authorization}httpAxios(data).then((res) => {resolve(res)}).catch((e) => {})})
}
  1. 设置超时时间并在响应拦截中判断超时并提示

 gethttpInfo({method: 'post',url: url,data: this.order,headers: {'Authorization': localStorage.getItem('token')}}).then((res) => {}).catch((error) => {this.$message({type: 'warning',message: error!=='timeout' ? error : '其他错误'})});

参考原文:

Vue项目请求超时处理_vue接口请求超时处理_一捆铁树枝的博客-CSDN博客

http://www.lryc.cn/news/164123.html

相关文章:

  • 《DevOps实践指南》- 读书笔记(四)
  • 盲打键盘的正确指法指南
  • 【MySQL】索引 详解
  • 怎么通过ip地址连接共享打印机
  • 迅为i.MX8mm小尺寸商业级/工业级核心板
  • vue中v-for循环数组使用方法中splice删除数组元素(错误:每次都删掉点击的下面的一项)
  • Python用GAN生成对抗性神经网络判别模型拟合多维数组、分类识别手写数字图像可视化...
  • 嵌入式Linux驱动开发(LCD屏幕专题)(一)
  • uniapp搜索功能
  • iframe 实现跨域,两页面之间的通信
  • DevOps到底是什么意思?
  • 03JVM_类加载
  • Mysql如何对null进行排序(mysql中null排序)
  • 【基础计算机网络1】认识计算机网络体系结构,了解计算机网络的大致模型(下)
  • vscode 画流程图
  • uniapp-一些实用的api接口
  • 合宙Air724UG LuatOS-Air LVGL API控件-表格(Table)
  • 前缀和思想
  • Llama2-Chinese项目:1-项目介绍和模型推理
  • 论文于祥读及复现——《VDO-SLAM: A Visual Dynamic Object-aware SLAM System》
  • nuxt3项目使用pdfjs-dist预览pdf
  • mybatis-generator-maven-plugin使用
  • 基于SpringBoot开发的停车位管理系统(调用百度地图api)
  • STC8单片机PWM定时器+EC11编码器实现计数
  • MediaBox助力企业一站式获取音视频能力
  • 仅做笔记用:Stable Diffusion 通过 ControlNet 扩展图片 / 扩图
  • 代码随想录算法训练营19期第49天
  • 用shell脚本实现一个对数组求和的函数,数组通过实参传递给函数,写一个函数,输出当前用户的uid和gid,并使用变量接收结果
  • 运算符,switch
  • 运行java命令出现 Error: Invalid or corrupt jarfile XXX.jar