最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解基于 axios 的 Vue 項目 http 請求優(yōu)化

 更新時間:2017年09月04日 11:55:56   作者:氣象衛(wèi)星隨機號  
這篇文章主要介紹了詳解基于 axios 的 Vue 項目 http 請求優(yōu)化,非常具有實用價值,需要的朋友可以參考下

對于需要大量使用 http 請求的項目,我們通常會選擇對 http 請求的方法進行二次封裝,以便增加統(tǒng)一的攔截器,或者統(tǒng)一處理阻止重復(fù)提交之類的邏輯。Vue.js 的項目中我們選擇使用了 axios 這樣一個 http 庫,下面也就簡述下基于 axios 做的簡單二次封裝

依賴

首先引入 axios ,對于 ie9 這樣不支持 promise 的瀏覽器還需引入 es6-promise 模塊

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

axios 初始化

初始化我們要實現(xiàn)兩個需求:

1.發(fā)送請求時帶上 cookies

2.重發(fā)發(fā)送請求時,如果前一次相同請求還未結(jié)束則中止前一次請求

const httpServer = axios.create({
  responseType: 'json',
  withCredentials: true, // 設(shè)置 withCredentials 使請求帶上 `cookies`
  cancelToken: new axios.CancelToken(function (c) {
    cancel = c // 記錄當(dāng)前請求的取消方法
  })
})

http 請求二次封裝

var promiseArr = {} // 用于記錄每個請求的取消方法

const gUtils = {
  getData: function () {
    let cancel
    const httpServer = axios.create({
      responseType: 'json',
      withCredentials: true, // 設(shè)置 withCredentials 使請求帶上 `cookies`
      cancelToken: new axios.CancelToken(function (c) {
        cancel = c // 記錄當(dāng)前請求的取消方法
      })
    })
    
    // 設(shè)置一個攔截器,每次發(fā)起請求前取消掉在進行中的相同請求
    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
  }
}

這樣我們在對接服務(wù)時候直接使用我們封裝好的 http 請求方法即可

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用Vue3和Plotly.js繪制動態(tài)3D圖表的示例代碼

    使用Vue3和Plotly.js繪制動態(tài)3D圖表的示例代碼

    在數(shù)據(jù)可視化應(yīng)用中,需要將數(shù)據(jù)動態(tài)加載到圖表中并進行實時更新,本文將展示如何使用Plotly.js和Vue.js實現(xiàn)這一功能,從加載外部數(shù)據(jù)到創(chuàng)建交互式圖表,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下
    2024-06-06
  • Vue+ElementUI使用vue-pdf實現(xiàn)預(yù)覽功能

    Vue+ElementUI使用vue-pdf實現(xiàn)預(yù)覽功能

    這篇文章主要為大家詳細介紹了Vue+ElementUI使用vue-pdf實現(xiàn)預(yù)覽功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • VUE的數(shù)據(jù)代理與事件詳解

    VUE的數(shù)據(jù)代理與事件詳解

    這篇文章主要為大家介紹了VUE的數(shù)據(jù)代理與事件,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • 解決Vue-cli3沒有vue.config.js文件夾及配置vue項目域名的問題

    解決Vue-cli3沒有vue.config.js文件夾及配置vue項目域名的問題

    這篇文章主要介紹了解決Vue-cli3沒有vue.config.js文件夾及配置vue項目域名的問題,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • vant之關(guān)于van-list的使用以及一些坑的解決方案

    vant之關(guān)于van-list的使用以及一些坑的解決方案

    這篇文章主要介紹了vant之關(guān)于van-list的使用以及一些坑的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Vue3導(dǎo)入Elementplus時組件無法加載的情況及解決

    Vue3導(dǎo)入Elementplus時組件無法加載的情況及解決

    這篇文章主要介紹了Vue3導(dǎo)入Elementplus時組件無法加載的情況及解決方案,具有很好的參考價值,希望對大家有所幫助
    2024-03-03
  • 詳解Vue SPA項目優(yōu)化小記

    詳解Vue SPA項目優(yōu)化小記

    這篇文章主要介紹了詳解Vue SPA項目優(yōu)化小記,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • 使用vue2.6實現(xiàn)抖音【時間輪盤】屏保效果附源碼

    使用vue2.6實現(xiàn)抖音【時間輪盤】屏保效果附源碼

    前段時間看抖音,有人用時間輪盤作為動態(tài)的桌面壁紙,一時間成為全網(wǎng)最火的電腦屏保,后來小米等運用市場也出現(xiàn)了【時間輪盤】,有點像五行八卦,感覺很好玩,于是突發(fā)奇想,自己寫一個網(wǎng)頁版小DEMO玩玩,需要的朋友可以參考下
    2019-04-04
  • Vue和原生JS中如何使用自定義字體

    Vue和原生JS中如何使用自定義字體

    這篇文章主要為大家詳細介紹了Vue和原生JS中如何使用自定義字體,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以了解下
    2024-01-01
  • vue實現(xiàn)畫筆回放canvas轉(zhuǎn)視頻播放功能

    vue實現(xiàn)畫筆回放canvas轉(zhuǎn)視頻播放功能

    這篇文章主要介紹了vue實現(xiàn)畫筆回放,canvas轉(zhuǎn)視頻播放功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-01-01

最新評論

灌阳县| 全州县| 新津县| 舒城县| 耒阳市| 长子县| 清镇市| 洛阳市| 禹州市| 谢通门县| 澄迈县| 宁都县| 昌都县| 新泰市| 凤山县| 惠水县| 甘德县| 丰镇市| 定南县| 吉林省| 启东市| 牡丹江市| 马鞍山市| 沾化县| 瑞安市| 武义县| 新巴尔虎右旗| 靖江市| 忻州市| 壶关县| 宜川县| 建始县| 卢龙县| 古蔺县| 东丽区| 正宁县| 响水县| 玉溪市| 长子县| 吉水县| 庄浪县|