Vue中的Interceptor可以攔截請求和響應(yīng),提供了靈活的機制來修改請求和響應(yīng)配置。這是在Vue通訊過程中非常實用的技巧,在編寫復(fù)雜的請求和響應(yīng)處理邏輯時可以很方便地在請求前或響應(yīng)后深入定制請求和響應(yīng)的配置。
在Vue中使用Interceptor,我們需要在axios上設(shè)置一下interceptor,可以在Vue的app.js中或者其他文件中設(shè)置一個默認攔截器,也可以為每一個請求設(shè)置一個獨立的攔截器。
const app = new Vue({ el: '#app', data: { ... }, mounted () { axios.interceptors.request.use((config) =>{ // 在請求發(fā)送之前做一些處理 return config; }, (error) =>{ // 對請求錯誤做些什么 return Promise.reject(error); }); axios.interceptors.response.use((response) =>{ // 對響應(yīng)數(shù)據(jù)做些事情 return response; }, (error) =>{ // 對響應(yīng)錯誤做些什么 return Promise.reject(error); }); } });
在以上的代碼中,我們首先使用了axios.interceptors.request.use來設(shè)置一個請求攔截器,然后使用axios.interceptors.response.use設(shè)置了一個響應(yīng)攔截器。
使用攔截器的好處在于我們可以在請求和響應(yīng)處理前后做很多操作,比如在請求發(fā)送之前加入一些header,或者在響應(yīng)返回之后加入一些驗證邏輯等等。在Vue中使用攔截器,可以輕松地完成這些操作。
上一篇mysql運維必備知識點
下一篇ionic vue 版本