2020-02-16 axios

  • 這里只寫了一些關(guān)注的點(diǎn)圆恤,比較簡(jiǎn)略,具體還要看網(wǎng)上各位大佬寫的文章和文檔

axios攔截器

  • 主要有兩種: 請(qǐng)求攔截器和響應(yīng)攔截器
  • 請(qǐng)求: 發(fā)送請(qǐng)求的時(shí)候統(tǒng)一處理,比如要在請(qǐng)求頭headers里加?xùn)|西,如會(huì)話id,token等
      let axios2 = axios.create({
        timeout: 1000,
      });
      axios2.interceptors.request.use(
        config => {
          config.headers.srcChannel = 'KAH';
          return config;
        },
        err => {
          return Promise.reject(err);
        }
      );
  • 響應(yīng): 就是后端返回的響應(yīng)進(jìn)行處理沦寂,比如對(duì)errorCode進(jìn)行判斷等
      axios2.interceptors.response.use(
        response => {
          // 攔截響應(yīng),統(tǒng)一處理
          if (response.data.errorCode) {
            if (response.data.errorCode === '0') {
              return response;
            }
          }
          return Promise.reject(response);
        },
        error => {
          return Promise.reject(error)
        }
      );

axios的主要作用

  • axios主要是用于向后臺(tái)發(fā)起請(qǐng)求的淘衙,還有在請(qǐng)求中做更多是可控功能传藏。

axios 配置

  • axios defalut 配置
// axios_init.js
import axios from 'axios';

// 設(shè)置默認(rèn)的配置
axios.defaults.headers.testDefault = 'test2';

export default axios;
import axios from 'axios'
import axios_init from './assets/js/axios_init';

export default {
  name: 'app',
  components: {
    // HelloWorld
  },
  created() {
  },
  methods: {
    test() {
      let axios2 = axios.create({
        timeout: 1000,
      });
      axios2.interceptors.request.use(
        config => {
          config.headers.srcChannel = 'KAH';
          return config;
        },
        err => {
          return Promise.reject(err);
        }
      );
      axios2.interceptors.response.use(
        response => {
          // 攔截響應(yīng),統(tǒng)一處理
          if (response.data.errorCode) {
            if (response.data.errorCode === '0') {
              return response;
            }
          }
          return Promise.reject(response);
        },
        error => {
          return Promise.reject(error)
        }
      );
      axios2.get('/data3.json').then(res => {
        console.log(res);
      })
      axios_init.get('/data2.json').then(res => {
        console.log(res);
      })
    }
  }
}
</script>

自定義實(shí)例默認(rèn)值

// 創(chuàng)建實(shí)例時(shí)設(shè)置配置的默認(rèn)值
var instance = axios.create({
  baseURL: 'https://api.example.com'
});

// 在實(shí)例已創(chuàng)建后修改默認(rèn)值
instance.defaults.headers.common['Authorization'] = AUTH_TOKEN;

配置的優(yōu)先順序

配置會(huì)以一個(gè)優(yōu)先順序進(jìn)行合并彤守。這個(gè)順序是:在 lib/defaults.js 找到的庫(kù)的默認(rèn)值毯侦,然后是實(shí)例的 defaults 屬性,最后是請(qǐng)求的 config 參數(shù)具垫。后者將優(yōu)先于前者叫惊。這里是一個(gè)例子:

// 使用由庫(kù)提供的配置的默認(rèn)值來創(chuàng)建實(shí)例
// 此時(shí)超時(shí)配置的默認(rèn)值是 `0`
var instance = axios.create();

// 覆寫庫(kù)的超時(shí)默認(rèn)值
// 現(xiàn)在,在超時(shí)前做修,所有請(qǐng)求都會(huì)等待 2.5 秒
instance.defaults.timeout = 2500;

// 為已知需要花費(fèi)很長(zhǎng)時(shí)間的請(qǐng)求覆寫超時(shí)設(shè)置
instance.get('/longRequest', {
  timeout: 5000
});
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末霍狰,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子饰及,更是在濱河造成了極大的恐慌蔗坯,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件燎含,死亡現(xiàn)場(chǎng)離奇詭異宾濒,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)屏箍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門绘梦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來橘忱,“玉大人,你說我怎么就攤上這事卸奉《鄢希” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵榄棵,是天一觀的道長(zhǎng)凝颇。 經(jīng)常有香客問我,道長(zhǎng)疹鳄,這世上最難降的妖魔是什么拧略? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮瘪弓,結(jié)果婚禮上垫蛆,老公的妹妹穿的比我還像新娘。我一直安慰自己腺怯,他們只是感情好袱饭,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瓢喉,像睡著了一般宁赤。 火紅的嫁衣襯著肌膚如雪舀透。 梳的紋絲不亂的頭發(fā)上栓票,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音愕够,去河邊找鬼走贪。 笑死,一個(gè)胖子當(dāng)著我的面吹牛惑芭,可吹牛的內(nèi)容都是我干的坠狡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼遂跟,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼逃沿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起幻锁,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤凯亮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后哄尔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體假消,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年岭接,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了富拗。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片臼予。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖啃沪,靈堂內(nèi)的尸體忽然破棺而出粘拾,到底是詐尸還是另有隱情,我是刑警寧澤谅阿,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布半哟,位于F島的核電站,受9級(jí)特大地震影響签餐,放射性物質(zhì)發(fā)生泄漏寓涨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一氯檐、第九天 我趴在偏房一處隱蔽的房頂上張望戒良。 院中可真熱鬧,春花似錦冠摄、人聲如沸糯崎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽沃呢。三九已至,卻和暖如春拆挥,著一層夾襖步出監(jiān)牢的瞬間薄霜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工纸兔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留惰瓜,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓汉矿,卻偏偏與公主長(zhǎng)得像崎坊,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子洲拇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容