1. 程式人生 > >介紹一個axios除錯好用的工具:axios-mock-adapter

介紹一個axios除錯好用的工具:axios-mock-adapter

上一篇文章中寫到用promise時應注意的問題,這一篇文章繼續介紹一個可以和axios庫配合的好工具: axios-mock-adapter。
axios-mock-adapter可以用來攔截http請求,並模擬響應,使用起來也很簡單,比如你想模擬下伺服器返回個500錯誤,你可以這麼寫:

 1 import axios from 'axios'
 2 import MockAdapter from 'axios-mock-adapter'
 3 
 4 const mock = new MockAdapter(request)
 5 
 6 mock.onPost('/url').reply(500, {
7 users: [ 8 { id: 1, name: 'John Smith' } 9 ] 10 })

然後,在業務程式碼中你就可以捕獲這個500錯誤

 1 // 業務程式碼呼叫
 2 axios({
 3     url: url,
 4     method: 'post',
 5     data: data
 6   }).then(res => {
 7     // 提示使用者資料更新成功
 8   }).catch(err => {
 9     // 捕獲500等http錯誤,提示使用者更新失敗
10   })

什麼404找不到、403禁止訪問、500伺服器錯誤、503服務不可用、504閘道器超時等等,你都能模擬出來,然後寫相應的業務程式碼,這樣以往只能依靠後端除錯介面的苦日子就快到頭了(只是開個玩笑,後端還是不可缺少的)。
有人寫了篇更詳細的文章 

axios請求模擬偵錯程式 來介紹它,感興趣的可以去看看。

這篇文章最初發表在我自己折騰的部落格站點上:介紹一個axios除錯好用的工具axios-mock-adapter,該部落格用了一位前輩開源的原始碼,基於thinkjs和vuejs開發,歡迎大家來逛逛。