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

营销网站建设专业公司新网域名注册官网

营销网站建设专业公司,新网域名注册官网,温州logo设计公司,php 修改 wordpress最近项目中遇到 axios 异步请求异常中断, 错误码为 “ECONNABORTED” 奇怪的是排查前端代码并没有发现有主动调用 abort 取消请求的 由于为何网络请求失败的原因找不到, 但是重试请求就是成功的, 所以计划使用 axios-retry 在网络错误时重新请求 import axiosRetry from axios…

最近项目中遇到 axios 异步请求异常中断, 错误码为 “ECONNABORTED”
奇怪的是排查前端代码并没有发现有主动调用 abort 取消请求的
由于为何网络请求失败的原因找不到, 但是重试请求就是成功的, 所以计划使用 axios-retry 在网络错误时重新请求

import axiosRetry from 'axios-retry'
import axios from 'axios'const service = axios.create({// .... 各种配置项
})axiosRetry(service, {retries: 1,  // 重新请求次数, 这里由于只是为了解决特殊情况下的网络错误, 所以只重试一次即可// 重试条件retryCondition: error => {return error.code === 'ECONNABORTED' // 仅这个错误下重试请求}
})

使用以上方案后, 解决了网络错误下接口失败的问题, 但是发现在重试请求成功后, js 代码里拿到的结果不对
经过排查, 发现 axios-retry 虽然能重新请求, 但是会基于实际请求次数多次调用 interceptors 拦截器的钩子

拦截器代码

service.interceptors.response.use(response => {return response.data},error => {ElMessage({message: error.message,type: 'error',duration: 3000})}
)

拦截器钩子第二次执行时返回的实际上是 response.data.data, 这会导致外部调用者拿不到预期结果 但这是 axios 或 axios-retry 内部的问题, 我们无法解决, 所以只能在钩子里做判断, 如果当前请求已经进入过拦截器处理, 就直接退出

拦截器做调整

service.interceptors.response.use(response => {// 如果之前进入过拦截器钩子, 那么 response 实际上就已经是 response.data, 直接 returnif(!(response.request instanceof XMLHttpRequest)){return response}return response.data},// 错误处理加入防抖, 同样的 error 只执行一次回调throttleErrorCallback(error => {ElMessage({message: error.message,type: 'error',duration: 3000})})
)// 错误处理防抖
function throttleErrorCallback(callback){const handledErrors = new WeakSet()return error => {if(handledErrors.has(error) {return Promise.reject(error)}handledErrors.add(error)return callback(error)}
}

如果有其他解决 axios-retry 带来的拦截器问题的方式, 欢迎交流

http://www.hkea.cn/news/246314/

相关文章:

  • c# 网站开发教程周口网站seo
  • 湘西网站建设帮人推广注册app的平台
  • 切图做网站web制作网站的模板
  • 网站的做网站公司哪家好网络优化大师app
  • 国内外包网站今日头条(官方版本)
  • 外网建筑设计网站线上渠道推广有哪些方式
  • 厦门做网站公司排名电工培训机构
  • 武汉网站设计制作外包公司的人好跳槽吗
  • 网站建设哪里最好页面关键词优化
  • 清远建设网站制作seo系统培训课程
  • 网站的网页建设知识ppt北大青鸟职业技术学院简介
  • 巫山网站设计aso优化榜单
  • 关于节约化建设网站的表态发言网站制作报价表
  • 建行网站是多少呢故事式的软文广告例子
  • 阳江市住房和城乡规划建设局网站一级消防工程师考试
  • 做课件的网站有哪些用html制作淘宝网页
  • 网站开发前后台整个流程品牌宣传的推广
  • 深圳市门户网站建设网站推广优化方法
  • 中山公司注册网页怎么优化
  • 网站建设怎么分录2022年新闻摘抄简短
  • 江西景德镇建设厅网站太原关键词排名推广
  • 番禺做网站自媒体发布平台有哪些
  • 用dede做的网站首页电子商务网络营销
  • 最好的做任务赚钱网站网络域名怎么查
  • 建设部规范网站百度app关键词优化
  • 骏域网站百度怎么收录网站
  • 网站robots.txt查看九江seo公司
  • 建设阿里妈妈网站搜索引擎排名优化seo
  • 自学网站建设作业创建网站免费
  • 营销网站定制的优势成品网站源码的优化技巧