全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解基于 axios 的 Vue 项目 http 请求优化

对于需要大量使用 http 请求的项目,我们通常会选择对 http 请求的方法进行二次封装,以便增加统一的拦截器,或者统一处理阻止重复提交之类的逻辑。Vue.js 的项目中我们选择使用了 axios 这样一个 http 库,下面也就简述下基于 axios 做的简单二次封装

依赖

首先引入 axios ,对于 ie9 这样不支持 promise 的浏览器还需引入 es6-promise 模块

require('es6-promise').polyfill();
var axios = require('axios');

axios 初始化

初始化我们要实现两个需求:

1.发送请求时带上 cookies

2.重发发送请求时,如果前一次相同请求还未结束则中止前一次请求

const httpServer = axios.create({
  responseType: 'json',
  withCredentials: true, // 设置 withCredentials 使请求带上 `cookies`
  cancelToken: new axios.CancelToken(function (c) {
    cancel = c // 记录当前请求的取消方法
  })
})

http 请求二次封装

var promiseArr = {} // 用于记录每个请求的取消方法

const gUtils = {
  getData: function () {
    let cancel
    const httpServer = axios.create({
      responseType: 'json',
      withCredentials: true, // 设置 withCredentials 使请求带上 `cookies`
      cancelToken: new axios.CancelToken(function (c) {
        cancel = c // 记录当前请求的取消方法
      })
    })
    
    // 设置一个拦截器,每次发起请求前取消掉在进行中的相同请求
    httpServer.interceptors.request.use(function (config) {
     if (promiseArr[config.url]) {
      promiseArr[config.url]('操作取消')
      promiseArr[config.url] = cancel
     } else {
      promiseArr[config.url] = cancel
     }
  
     return config
    }, function (err) {
     // return Promise.reject (error)
    })
  
    return httpServer
  }
}

这样我们在对接服务时候直接使用我们封装好的 http 请求方法即可

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# axios  # http请求  # vue  # http  # Vue中Axios的封装与接口管理详解  # vue封装axios与api接口管理的完整步骤  # Vue+axios实现统一接口管理的方法  # vue中的axios配置及接口请求路径api配置  # Vue3引入axios封装接口的两种方法实例  # Vue路由切换和Axios接口取消重复请求详解  # axios接口管理优化操作详解  # 拦截器  # 也就  # 这样一个  # 还未  # 不支持  # 还需  # 大家多多  # 通常会  # 装好  # 重发  # 使用了  # url  # promise  # return  # brush  # require  # class  # polyfill  # pre 


相关文章: 广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  完全自定义免费建站平台:主题模板在线生成一站式服务  如何快速搭建安全的FTP站点?  如何在橙子建站中快速调整背景颜色?  如何在局域网内绑定自建网站域名?  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  北京网站制作的公司有哪些,北京白云观官方网站?  ,制作一个手机app网站要多少钱?  如何用y主机助手快速搭建网站?  如何制作一个表白网站视频,关于勇敢表白的小标题?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  如何在七牛云存储上搭建网站并设置自定义域名?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  如何选择高性价比服务器搭建个人网站?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  如何在新浪SAE免费搭建个人博客?  如何快速配置高效服务器建站软件?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  C#如何序列化对象为XML XmlSerializer用法  高端智能建站公司优选:品牌定制与SEO优化一站式服务  青浦网站制作公司有哪些,苹果官网发货地是哪里?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  焦点电影公司作品,电影焦点结局是什么?  如何通过VPS建站实现广告与增值服务盈利?  Swift开发中switch语句值绑定模式  广州营销型建站服务商推荐:技术优势与SEO优化解析  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  Thinkphp 中 distinct 的用法解析  专业网站建设制作报价,网页设计制作要考什么证?  建站主机是否属于云主机类型?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  建站之星安装后如何自定义网站颜色与字体?  建站之星后台管理系统如何操作?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  建站主机选哪种环境更利于SEO优化?  如何在Windows 2008云服务器安全搭建网站?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  如何零成本快速生成个人自助网站?  音乐网站服务器如何优化API响应速度?  用v-html解决Vue.js渲染中html标签不被解析的问题  如何通过虚拟主机空间快速建站?  建站主机无法访问?如何排查域名与服务器问题  学校为何禁止电信移动建设网站?  视频网站制作教程,怎么样制作优酷网的小视频?  建站之星图片链接生成指南:自助建站与智能设计教程  微信h5制作网站有哪些,免费微信H5页面制作工具?  如何在阿里云香港服务器快速搭建网站?  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  大连 网站制作,大连天途有线官网? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。