axios接口请求超时,重试方法

news2025/1/23 16:21:02

在这里插入图片描述

import axios from "axios";
import { Message } from "element-ui";

const service = axios.create({
    baseURL: 'xxxx',
    timeout: 2000,//超时时间
    retry: 3, //设置全局重试请求次数(最多重试几次请求)
    retryDelay: 1000, //设置全局请求间隔
});
// request拦截器,在请求之前做一些处理
service.interceptors.request.use(
    (config) => {
        return config;
    },
    (err) => {
        // 抛出异常
        return Promise.reject(err);

    }
);
//配置成功后的拦截器
// 响应拦截器
service.interceptors.response.use((res) => {
    // 如果等于200,就直接返回200拿到的数据
    return res.data
}, err => {
//超时处理 error.config是一个对象,包含上方create中设置的三个参数
    var config = err.config //获取超时的配置
    if (!config || !config.retry) {
        return Promise.reject(err)
    }
     // __retryCount用来记录当前是第几次发送请求
    config.__retryCount = config.__retryCount || 0
     // 如果当前发送的请求大于等于设置好的请求次数时,不再发送请求,返回最终的错误信息
    if (config.__retryCount >= config.retry) {
        return Promise.reject(err)
    }
    Message.error("请求失败,重试中", config.retry)
    // 记录请求次数+1
    config.__retryCount += 1
    // 设置请求间隔 在发送下一次请求之前停留一段时间,时间为上方设置好的请求间隔时间
    var backoff = new Promise(function (resolve) {
        setTimeout(function () {
            resolve()
        }, config.retryDelay || 1)
    })
    // 再次发送请求
    return backoff.then(function () {
        return service(config)
    })
    // return Promise.reject(err)
})
export default service

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1474547.html

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

相关文章

如何在有限的预算里做好服务器的DDOS防护?

在网络安全领域,防御分布式拒绝服务(DDoS)攻击是一项持续且复杂的挑战。尤其对于预算有限的组织来说,如何在不牺牲安全性的前提下进行有效的防护,更是一个需要深思熟虑的问题。以下是一些建议,帮助你在有限…

459. 重复的子字符串(力扣LeetCode)

文章目录 459. 重复的子字符串题目描述暴力移动匹配 459. 重复的子字符串 题目描述 给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。 示例 1: 输入: s “abab” 输出: true 解释: 可由子串 “ab” 重复两次构成。 示例 2: 输入: s “ab…

Android 15的新功能介绍

虽然谷歌已经发布了 Android 15 Preview 1,但这并不是完整的更新,因为该公司计划在后续的每月测试版中引入新功能。但这可能会让您思考,“Android 15 带来了哪些新功能?” 为了寻找答案,让我们深入了解 Android 15。 …

CSS3技巧37:JS+CSS3 制作旋转图片墙

开学了就好忙啊,Three.js 学习的进度很慢。。。 备课备课才是王道。 更一篇 JS CSS3 的内容,做一个图片墙。 其核心要点是把图片摆成这个样子: 看上去这个布局很复杂,其实很简单。其思路是: 所有图片放在一个 div.…

【小沐学QT】QT学习之OpenGL开发笔记

文章目录 1、简介2、Qt QOpenGLWidget gl函数3、Qt QOpenGLWidget qt函数4、Qt QOpenGLWindow5、Qt glut6、Qt glfw结语 1、简介 Qt提供了与OpenGL实现集成的支持,使开发人员有机会在更传统的用户界面的同时显示硬件加速的3D图形。 Qt有两种主要的UI开发方…

计算机网络:路由协议

路由协议简介 路由协议是计算机网络中不可或缺的一部分,它们负责确定数据包从源地址到目的地址的最佳路径。想象一下,如果你是一个数据包,路由协议就像是地图或导航工具,指导你如何到达目的地。 目录 路由协议简介 工作原理简化…

动态更新(LanqiaoOJ)

2024.2.27 前缀和、差分解析 前缀和与差分 图文并茂 超详细整理(全网最通俗易懂)_前缀和差分-CSDN博客 k倍区间【暴力、前缀和】 输入描述 第一行包含两个整数 NN 和 KK( 1≤N,K≤1051≤N,K≤105 )。 以下 N 行每行包含一个整数 AiAi​ ( 1≤Ai≤1051≤Ai​≤105 ) 输…

【Java】常用实用类及java集合框架(实验六)

目录 一、实验目的 二、实验内容 三、实验小结 3.1 常用实用类 3.2 Java集合框架 一、实验目的 1、掌握java常用类的方法 2、掌握String类与数值类型数据的相互转化 3、掌握正则表达式的应用 4、掌握常用集合的创建和操作方法 二、实验内容 1、菜单的内容如下&#x…

CUDA C:核函数、主机函数、设备函数

相关阅读 CUDA Chttps://blog.csdn.net/weixin_45791458/category_12530616.html?spm1001.2014.3001.5482 核函数(Kernel Function)指的是在主机(CPU)调用(某些情况下也可以在设备调用),在设备(GPU)上执行的函数,使用__global__…

将法律条文很美观的复制到word上

前言 目前很多法律条款都没有现成的PDF或者word格式的供大家下载,这个时候呢,领导又要求你帮他搞定,这就很。。。。 步骤 复制全部条款到word中使用wps的排版功能,将空格和空段落全部移除 3. 设置好你需要的格式 标题&#xff…

PIGX从零开始快速构建分布式服务

PIGX从零开始快速构建分布式服务 一、环境搭建1.代码下载2 更改maven目录2更改完成后等待jar包的下载3 认真阅读README.md4 更改服务名5 编译代码 二、基础服务auth、upms、gateway配置与启动1 搭建数据库2 初始化pig数据库信息3构建nacos服务端3.1 更改pig-register配置并启动…

SQL注入漏洞解析--less-7

我们先看一下第七关 页面显示use outfile意思是利用文件上传来做 outfile是将检索到的数据,保存到服务器的文件内: 格式:select * into outfile "文件地址" 示例: mysql> select * into outfile f:/mysql/test/one f…

Mistral AI 推出最新Mistral Large模型,性能仅次于GPT 4

模型特点 • Mistral Large具有顶级的推理能力,适用于复杂的多语言推理任务,包括文本理解、转换和代码生成。• 32K 令牌的上下文窗口,能够从大型文档中精确回忆信息。• 精确的指令跟随能力,允许开发者设计他们的审核政策。• 支…

SpringCloud--Nacos解析

一、Nacos简介 Spring Cloud Alibaba Nacos是一个用于动态服务发现、配置管理和服务管理的平台,是阿里巴巴开源的一个项目,旨在简化微服务架构中的服务治理。Nacos 提供了一组简单易用的特性集,可以快速的实现动态服务发现、服务配置、服务元…

轻量级模型,重量级性能,TinyLlama、LiteLlama小模型火起来了,针对特定领域较小的语言模型是否与较大的模型同样有效?

轻量级模型,重量级性能,TinyLlama、LiteLlama小模型火起来了,针对特定领域较小的语言模型是否与较大的模型同样有效? 当大家都在研究大模型(LLM)参数规模达到百亿甚至千亿级别的同时,小巧且兼具高性能的小…

【基于React实现共享单车管理系统】—项目简介(一)

【基于React实现共享单车管理系统】—项目简介(一) 一、项目整体架构

【自然语言处理三-自注意self attention】

自然语言处理三-自注意力 self attention 自注意力是什么?自注意力模型出现的原因是什么?词性标注问题解决方法1-扩展window,引用上下文解决方法2-运用seq2seq架构新问题来了:参数量增加、无法并行的顽疾 自注意力self attention模…

kali Linux 渗透系统的安装、提权与汉化(初识 Linux 系统)

目录 一、安装 kali 二、汉化 kali 三、kali 提权 1、暂时提权 root 2、永久提权 root 四、Linux 常用命令 一、安装 kali 官方镜像下载地址 https://www.kali.org/get-kali/#kali-virtual-machines 我这里推荐的是下载 vmx 文件,下载后解压,在 …

牛客前端八股文(每日更新)

1.说说HTML语义化? 得分点:语义化标签、利于页面内容结构化、利于无CSS页面可读、利于SEO、利于代码可读 1,标签语义化是指在开发时尽可能使用有语义的标签,比如header,footer,h,p&#xff0c…

uniapp实现单选框

采用uniapp-vue3实现的一款单选框组件,提供丝滑的动画选中效果,支持不同主题配置,适配web、H5、微信小程序(其他平台小程序未测试过,可自行尝试) 可到插件市场下载尝试: https://ext.dcloud.net…