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.mzph.cn/news/76266.shtml

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

相关文章

树莓派搭建K8S集群

最近学习k8s知识,想用树莓派搭建集群,在网找了不少,就发现一篇文章可以搭建成功香橙派4和树莓派4B构建K8S集群实践之一:K8S安装,参考了不少,这里主要记录下遇到的一些问题,参考的文章&#xff0…

入门Python编程:了解计算机语言、Python介绍和开发环境搭建

文章目录 Python入门什么是计算机语言1. 机器语言2. 符号语言(汇编)3. 高级语言 编译型语言和解释型语言1. 编译型语言2. 解释型语言 Python的介绍Python开发环境搭建Python的交互界面 python学习专栏python基础知识(0基础入门)py…

C高级 DAY3

一、shell中的变量 shell本身是擅长运行指令,是一种弱数据类型语言 它与c语言中定义变量有所不同 C中: 存储类型 数据类型 变量名;shell中: 变量变量的值 ----->如果变量的值中间没有空格直接使用 变量变量的值 ----->变量…

【uni-app】

准备工作(Hbuilder) 1.下载hbuilder,插件使用Vue3的uni-app项目 2.需要安装编译器 3.下载微信开发者工具 4.点击运行->微信开发者工具 5.打开微信开发者工具的服务端口 效果图 准备工作(VScode) 插件 uni-cr…

c++day3

stack.h #ifndef STACK_H #define STACK_H #include <iostream> //#define max 128 using namespace std; class Stack { private:int* stack;//数组指针int top;//栈顶元素int max;//栈容量 public://构造函数Stack();//析构函数~Stack();//定义拷贝构造函数Stack(cons…

Android窗口层级(Window Type)分析

前言 Android的窗口Window分为三种类型&#xff1a; 应用Window&#xff0c;比如Activity、Dialog&#xff1b;子Window&#xff0c;比如PopupWindow&#xff1b;系统Window&#xff0c;比如Toast、系统状态栏、导航栏等等。 应用Window的Z-Ordered最低&#xff0c;就是在系…

matlab如何遍历文件夹及子文件夹下的所有文件

需求 有一个比较深层的文件夹&#xff0c;每个文件夹及其子文件夹下都可能存在我所需要的csv文件&#xff0c;写一个函数&#xff0c;输入文件夹路径后可以返回所有符合要求的csv文件。 代码实现 % folder_path为输入的文件夹&#xff0c;str为指定的文件所特有的关键字&…

Vue导航守卫beforeRouteEnter,beforeRouteUpdate,beforeRouteLeave

Vue导航守卫以我自己的理解就是监听页面进入,修改,和离开的功能。每个守卫接受三个参数 to: Route: 即将要进入的目标路由对象 from: Route: 当前导航正要离开的路由 next: Function: 一定要调用该方法来 resolve 这个钩子。执行效果依赖 next 方法的调用参数。 next(): 进行…

docker运行并进入MySQL容器

1、运行容器 $ docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD123456 mysql这是一个使用Docker命令行工具来启动一个MySQL容器的命令。下面&#xff0c;让我们来详细解析这条命令&#xff1a; docker run docker: Docker的命令行工具。 run: Docke…

Codeforces Round 827 (Div. 4) D 1e5+双重for循环技巧

Codeforces Round 827 (Div. 4) D 做题链接&#xff1a;Codeforces Round 827 (Div. 4) 给定一个由 n个正整数 a1,a2,…,an&#xff08;1≤ai≤1000&#xff09;组成的数组。求ij的最大值&#xff0c;使得ai和aj共质&#xff0c;否则−1&#xff0c;如果不存在这样的i&#…

ChatGPT企业版来了,速度翻倍,无使用限制

美国时间8月28日&#xff0c;OpenAI宣布了自ChatGPT推出以来最重大的新闻&#xff1a;将推出ChatGPT企业版&#xff0c;企业版ChatGPT将直接对接GPT-4&#xff0c;提供无限制访问、高级数据分析功能、定制服务等服务&#xff0c;并支持处理更长文本输入的长上下文窗口。 OpenAI…

Jetsonnano B01 笔记3:GPIO上拉下拉-输入输出读取

今日继续我的jetsonnano学习之路&#xff0c;今日学习的是GPIO的上拉下拉&#xff0c;输入输出的读取&#xff0c;文章贴出完整操作步骤过程&#xff0c;贴出源码。 目录 Linux常用文件命令&#xff1a; ls&#xff08;list&#xff09;列表&#xff1a; man&#xff1a; …

页面页脚部分CSS分享

先看效果&#xff1a; CSS部分&#xff1a;&#xff08;查看更多&#xff09; <style>body {display: grid;grid-template-rows: 1fr 10rem auto;grid-template-areas: "main" "." "footer";overflow-x: hidden;background: #F5F7FA;min…

有哪些Linux可以替代centerOS的

有哪些Linux可以替代centerOS的 CentOS是一个非常流行的企业级Linux发行版&#xff0c;但是在2020年12月&#xff0c;CentOS宣布将停止提供长期支持&#xff08;LTS&#xff09;版本&#xff0c;这对于很多企业和用户来说是一个巨大的打击。以下是一些可以替代CentOS的Linux发…

如何使用SQL系列 之 如何在MySQL中使用触发器

引言 当使用关系型数据库和结构化查询语言(SQL)时&#xff0c;对数据的大多数操作都是显式执行查询的结果&#xff0c;例如SELECT、INSERT或UPDATE。 然而&#xff0c;SQL数据库也可以被指令在特定事件发生时通过触发器自动执行预定义的操作。例如&#xff0c;您可以使用触发…

【微服务】五. Nacos服务注册

Nacos服务注册 5.1 Nacos服务分级存储模型Nacos服务分级存储模型&#xff1a;服务集群属性&#xff1a;总结&#xff1a; 5.2 根据集群负载均衡总结 5.3 Nacos服务实例的权重设置总结&#xff1a; 5.6 环境隔离namespace总结 5.7 Nacos和Eureka的对比总结 5.1 Nacos服务分级存储…

C#数据类型:object、var和dynamic的比较与应用

文章目录 引言&#xff1a;一、object类型&#xff1a;object类型的使用场景&#xff1a;object类型的限制&#xff1a; 二、var类型&#xff1a;var类型的使用场景&#xff1a;var类型的限制&#xff1a; 三、dynamic类型&#xff1a;dynamic类型的使用场景&#xff1a;dynami…

buildroot中C语言使用libconfig的实例

首先在buildroot中开启libconfig 在config中添加 BR2_PACKAGE_LIBCONFIGy 下面是官方给出来的3个实例 /* ----------------------------------------------------------------------------libconfig - A library for processing structured configuration filesCopyright (…

科技云报道:AI时代,对构建云安全提出了哪些新要求?

科技云报道原创。 随着企业上云的提速&#xff0c;一系列云安全问题也逐渐暴露出来&#xff0c;云安全问题得到重视&#xff0c;市场不断扩大。 Gartner 发布“2022 年中国 ICT 技术成熟度曲线”显示&#xff0c;云安全已处于技术萌芽期高点&#xff0c;预期在2-5年内有望达到…

Material Design系列探究之LinearLayoutCompat

谷歌Material Design推出了许多非常好用的控件&#xff0c;所以我决定写一个专题来讲述MaterialDesign&#xff0c;今天带来Material Design系列的第一弹 LinearLayoutCompat。 以前要在LinearLayout布局之间的子View之间添加分割线&#xff0c;还需要自己去自定义控件进行添加…