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

网站域名云服务器是什么建程网会员共享

网站域名云服务器是什么,建程网会员共享,百度提交网站地图,东莞网站优化推广axios本身功能已经很强大了#xff0c;封装也无需过度#xff0c;只要能满足自己项目的需求即可。 常规axios封装#xff0c;只需要设置#xff1a; 实现请求拦截实现响应拦截常见错误信息处理请求头设置 import axios from axios;// 创建axios实例 const service axios… axios本身功能已经很强大了封装也无需过度只要能满足自己项目的需求即可。 常规axios封装只需要设置 实现请求拦截实现响应拦截常见错误信息处理请求头设置 import axios from axios;// 创建axios实例 const service axios.create({baseURL: process.env.VUE_APP_BASE_API, // api的base_urltimeout: 5000 // 请求超时时间 });// 请求拦截器 service.interceptors.request.use(config {// 可以在这里添加请求头等信息// 例如config.headers[Authorization] your token;// config.data qs.stringify(config.data); // 序列化,比如表单数据return config;},error {// 请求错误处理return Promise.reject(error);} );// 响应拦截器 service.interceptors.response.use(response {// 对响应数据做处理例如只返回data部分const res response.data;// 如果返回的状态码为200说明成功可以直接返回数据if (res.code 200) {return res;} else {// 返回的状态码非200说明有错误此处可以根据后端返回的错误码进行进一步处理return Promise.reject(res || error);}},error {// 服务器返回的错误处理return Promise.reject(error);} );export default service; 需要取消接口调用的场景 假如一个页面接口太多、或者当前网络太卡顿、这个时候跳往其他路由当前页面可以做的就是把请求中断掉优化假如当前接口调取了第一页数据又调去了第二页的数据当我们调取第二页数据时就需要把第一页数据的请求中断掉 (常见于在搜索大数据)tab频繁切换取消切换前的tab接口请求取消下载。 AbortController 取消接口请求 从 v0.22.0 开始Axios 支持以 fetch API 方式—— AbortController 取消请求。AbortController 接口表示一个控制器对象允许你根据需要中止一个或多个 Web 请求。 代码实现 1、将中止控制器传递给 axios 的 调去接口的方法controller new AbortController()     2、axios里面有定义标识的属性signal     3、点击取消controller.abort() const controller new AbortController();axios.get(/foo/bar, {signal: controller.signal }).then(function(response) {//... }); // 取消请求 controller.abort()需要重发的场景 比如有重要的接口一旦调取失败会影响整个页面的展示和使用在用户网络不好等情况下导致接口调用失败。 解决 在响应拦截返回失败时进行重试设置重试次数的参数再次发送请求 模拟 axios timeout: 2000,服务端加个延时3s。 axios里面设置两个参数{     retries: 3, // 设置重试次数为3次       retryDelay: 1000, // 设置重试的间隔时间 } 完整代码 script setup langts import axios from axiosconst request axios.create({baseURL: http://localhost:3000,// 设置请求超时时间为2秒timeout: 2000,retries: 3, // 设置重试次数为3次retryDelay: 1000, // 设置重试的间隔时间 } as any)// 添加响应拦截器 request.interceptors.response.use((response) {// 对响应数据做些什么return Promise.resolve(response.data)},(error) {const config error.config// 如果config不存在或未设置重试选项则拒绝if (!config || !config.retries) {return Promise.reject(error)}// 设置变量来跟踪重试次数config.__retryCount config.__retryCount || 0// 检查是否达到最大重试次数if (config.__retryCount config.retries) {return Promise.reject(error)}// 增加重试计数器config.__retryCount 1// 创建一个新的Promise来处理每次重试之前等待一段时间const backoff new Promise((resolve) {setTimeout(() {resolve(重新请求 config.__retryCount)}, config.retryDelay || 1)})// 返回Promise以便Axios知道我们已经处理了错误return backoff.then((txt) {console.log(txt)return request(config)})}, )// 请求中止控制器 let controller: AbortController // --- 获取数据 --- const getData async () {controller new AbortController()const res await request({signal: controller.signal, // 添加请求中止标识method: GET,url: /delay_3s_data,})console.log(成功, res) }const stop () {// 中止网络请求controller.abort()console.log(取消) } /scripttemplateh1axios请求重试/h1button clickgetData()发送请求/buttonbutton clickstop()中止请求/button /template
http://www.zqtcl.cn/news/118084/

相关文章:

  • 网站代码 字体好用的cms网站
  • 美食网站首页设计用手机怎么看自己做的网站
  • 平台类网站开发怎样做永久网站二维码
  • 网站开发客户挖掘php网站开发心得3500字
  • 检察院做网站的目的青岛网站推广优化
  • dede替换网站模板定制网站建设的流程
  • 天津专业网站制作网站开发模板
  • 做二手车网站需要什么怎样建立门户网站
  • 宁波做网站首荐荣盛网络网站建设太仓
  • 购物网站公司要花费多少钱wordpress 菜单 字体加粗
  • 网站模板如何编辑软件crm免费客户管理系统
  • 微信制作网站设计重庆关键词优化软件
  • 网站的设计与应用论文平台推广计划书模板范文
  • 网站备案用户名忘了怎么办网站做301排名会掉
  • 厦门制作网站企业网站子域名怎么做
  • 青岛微网站开发品牌建设青之见
  • 淄博哪有培训做网站的湖南营销型网站建设企业
  • 动物网站建设深圳最好的营销网站建设公司
  • 各种网站制作陕西建设厅证件查询网站
  • 如何提高一个网站如何做简单网站
  • 游戏网站开发找什么人可建智慧园区设计方案
  • 重庆网站设计公司推荐福州移动网站建设
  • 移动网站功能做网站fjfzwl
  • 食品网站建设的目的中级经济师考试成绩查询
  • 普宁建设局网站免费的网站开发平台
  • 网站域名主机空间区别网站上传系统
  • 建设高端网站公司的目的淮南房产网
  • 网站建设 中山网站建设新得体会
  • 快速搭建网站视频教程看想看的做想做的电影网站好
  • 网站聊天怎么做2345网址导航智能主版