当前位置:首页 > 日记 > 正文

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

详解基于 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 请求方法即可

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

相关文章

WPS2016怎么样制作堆积柱形图图表

WPS2016怎么样制作堆积柱形图图表

图图,电脑软件,  WPS2016编辑文件的时候,想要插入图表,这就需要设计一个图表。以下是小编为您带来的关于WPS2016制作堆积柱形图图表,希望对您有所帮助。WPS2016制作堆积柱形图图表1、打开【WPS】软件。2、点击【WPS】文字下拉框中的新建,新建…

WPS表格如何添加漂亮的边框和底纹

WPS表格如何添加漂亮的边框和底纹

边框,底纹,表格,漂亮,电脑软件,  WPS表格有很多样式,可以随意的添加边框和底纹,wps中的表格想要制作成更漂亮的效果,就需要添加一些底纹和边框效果。以下是小编为您带来的关于WPS表格添加漂亮的边框和底纹,希望对您有所帮助。WPS表格添加漂亮…

Word中2010版进行为标题段文字添加

Word中2010版进行为标题段文字添加

边框,文字,操作技巧,标题,操作步骤,  在word2010中如何为标题段文字添加阴影边框,具体该怎么去进行操作的呢?今天,小编就教大家在Word中2010版进行为标题段文字添加阴影边框的操作技巧。Word中2010版进行为标题段文字添加阴影边框的操作步…

ppt2013加页码不显示的解决方法

ppt2013加页码不显示的解决方法

解决方法,显示,页码,电脑软件,strong,  ppt2013是一款十分普遍地幻灯片编辑的软件。有时我们编辑的量太大,页数太多,需要插入页码但是不显示怎么办?下面给大家分享PPT页面不显示的解决方法。ppt2013加页码不显示的解决方法步骤1在编辑框中&…

轻松学习Javascript闭包

轻松学习Javascript闭包

闭包,学习,轻松,电脑软件,Javascript,闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。当function里嵌套function时,内部的function可以访问外部function里的变量。function foo(x) { var tmp = 3; functi…

qq安全中心手机密保解绑操作方法

qq安全中心手机密保解绑操作方法

安全中心,操作方法,方法,机密,电脑软件,  关于手机密保如何解绑问题,在此先表示遗憾,因为目前QQ已经不支持解绑功能,因而也不要怀疑为什么找不到“解绑”按钮。但如果是手机更换或者丢失,那么可以通过更换密保手机实现,今天小编给你…

Word文档插入GIF动态的方法是什么

Word文档插入GIF动态的方法是什么

文档,方法,动态,动态图片,电脑软件,  正常情况下word可以插入GIF动画,但是插入的GIF动态图片不会动。那么在Word文档中,应该如何插入动态的图片。以下是小编为您带来的关于Word文档插入GIF动态图片,希望对您有所帮助。Word文档插入GIF动态图…

ppt怎么制作触发器ppt制作触发器的

ppt怎么制作触发器ppt制作触发器的

触发器,步骤,方法,电脑软件,ppt,  PPT触发器是PowerPoint中的一项功能,它可以是一个图片、文字、段落、文本框等,相当于是一个按钮,在PPT中设置好触发器功能后,点击触发器会触发一个操作,该操作可以是多媒体音乐、影片、动画等。那么小面小编…

excel2010调出数据分析的方法excel

excel2010调出数据分析的方法excel

数据分析,方法,电脑软件,strong,  在Excel中录入数据后经常需要对数据进行分析,因此数据分析这个功能很重要,接下来是小编为大家带来的excel2010调出数据分析的方法,供大家参考。excel2010调出数据分析的方法excel2010调出数据分析的方法图1…

word2007模板路径在哪word2007模板

word2007模板路径在哪word2007模板

路径,模板,位置,具体位置,电脑软件,  word模板路径怎么找,最近用word比较多,我用word打开文件的时候,提示说文件错误,后来查资料需要删除word模板文件才能解决这格问题。那么下面小编就教你word2007模板路径在哪。word2007模板路径的位置打开…

jquery仿京东侧边栏导航效果

jquery仿京东侧边栏导航效果

导航,侧边栏,京东,效果,电脑软件,本文实例为大家分享了jquery仿京东侧边栏导航的具体代码,供大家参考,具体内容如下样式代码<style> *{ padding: 0; margin: 0; border: 0; } body{ height: 2000px; } .right_ng{ width: 40px; he…

word2013和2003如何将表格文字居中

word2013和2003如何将表格文字居中

文字居中,如何将,表格,电脑软件,  越是简单的软件,我们越是很难全部掌握,就拿我们经常使用的word来说,我们可能只是了解其中的皮毛,还有很多只是有待我们去学习,就拿将表格中文字居中来说,就有很多方法,那么下面就由小编给大家分享下word2013和2…