第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

誰有 Http.js 的源碼 可以發(fā)一下嗎

誰有 Http.js? 的源碼? 可以發(fā)一下嗎

正在回答

2 回答

import?axios?from?'axios'

import?service?from?'./contactApi'

import?{?Toast?}?from?'vant'


//?1.service?循環(huán)遍歷出不同的請求方法

let?instance?=?axios.create({

??//?注意地址的拼寫

??baseURL:?'http://localhost:9000/api',

??timeout:?1000

})


let?Http?=?{};?//包裹請求方法的容器



//?2.請求格式或者參數(shù)的統(tǒng)一

for?(let?key?in?service)?{

??let?api?=?service[key];?//?url?method

??console.log(api)

??console.log(key)

??//?async的作用:避免進入回調(diào)地獄

??Http[key]?=?async?function?(

????params,???//?請求參數(shù)?get(url),put,post,,patch(data),delete(url)

????isFormdata?=?false,?//?判斷是否是form-data請求

????config?=?{}?//配置參數(shù)

??)?{

????//?let?url?=?api.url

????let?newParams?=?{}

????//?3.content-type是否是form-data的判斷

????if?(params?&&?isFormdata)?{

??????newParams?=?new?FormData();

??????for?(let?i?in?params)?{

????????//?轉(zhuǎn)換form-data的格式

????????newParams.append(i,?params[i]);

??????}

????}?else?{

??????newParams?=?params;

????}

????//?4.不同的請求判斷

????let?response?=?{};?//請求的返回值

????if?(api.method?===?'put'?||?api.method?===?'post'?||?api.method?===?'patch')?{

??????try?{

????????response?=?await?instance[api.method](api.url,?newParams,?config);

??????}?catch?(err)?{

????????response?=?err;

??????}

????}?else?if?(api.method?===?'delete'?||?api.method?===?'get')?{

??????try?{

????????config.params?=?newParams;

????????response?=?await?instance[api.method](api.url,?config);

??????}?catch?(err)?{

????????response?=?err;

??????}

????}

????return?response;???//?返回響應(yīng)值

??}


}




//?攔截器的添加


//?5.請求攔截器

instance.interceptors.request.use(

??//?發(fā)起請求前

??config?=>?{

????Toast.loading({

??????mask:?true,?//是否顯示陰影

??????duration:?0,?//?0是一直存在陰影,默認的是1000ms

??????forbidClick:?true,?//禁止點擊

??????message:?'加載中...'

????})

????return?config

??},

??//?請求失敗

??()?=>?{

????Toast.clear()

????Toast('請求錯誤,請稍后重試')

??}??

)


//?6.響應(yīng)攔截器

instance.interceptors.response.use(

??//?請求成功

??res?=>?{

????Toast.clear()

????return?res.data

??},

??()?=>?{

????Toast.clear()

????Toast('請求錯誤,請稍后重試')

??}

)


export?default?Http


2 回復(fù) 有任何疑惑可以回復(fù)我~
import?axios?from?'axios'import?service?from?'./contactApi'import?{?Toast?}?from?'vant'//?1.service?循環(huán)遍歷出不同的請求方法let?instance?=?axios.create({??//?注意地址的拼寫??baseURL:?'http://localhost:9000/api',??timeout:?1000})let?Http?=?{};?//包裹請求方法的容器//?2.請求格式或者參數(shù)的統(tǒng)一for?(let?key?in?service)?{??let?api?=?service[key];?//?url?method??console.log(api)??console.log(key)??//?async的作用:避免進入回調(diào)地獄??Http[key]?=?async?function?(????params,???//?請求參數(shù)?get(url),put,post,,patch(data),delete(url)????isFormdata?=?false,?//?判斷是否是form-data請求????config?=?{}?//配置參數(shù)??)?{????//?let?url?=?api.url????let?newParams?=?{}????//?3.content-type是否是form-data的判斷????if?(params?&&?isFormdata)?{??????newParams?=?new?FormData();??????for?(let?i?in?params)?{????????//?轉(zhuǎn)換form-data的格式????????newParams.append(i,?params[i]);??????}????}?else?{??????newParams?=?params;????}????//?4.不同的請求判斷????let?response?=?{};?//請求的返回值????if?(api.method?===?'put'?||?api.method?===?'post'?||?api.method?===?'patch')?{??????try?{????????response?=?await?instance[api.method](api.url,?newParams,?config);??????}?catch?(err)?{????????response?=?err;??????}????}?else?if?(api.method?===?'delete'?||?api.method?===?'get')?{??????try?{????????config.params?=?newParams;????????response?=?await?instance[api.method](api.url,?config);??????}?catch?(err)?{????????response?=?err;??????}????}????return?response;???//?返回響應(yīng)值??}}//?攔截器的添加//?5.請求攔截器instance.interceptors.request.use(??//?發(fā)起請求前??config?=>?{????Toast.loading({??????mask:?true,?//是否顯示陰影??????duration:?0,?//?0是一直存在陰影,默認的是1000ms??????forbidClick:?true,?//禁止點擊??????message:?'加載中...'????})????return?config??},??//?請求失敗??()?=>?{????Toast.clear()????Toast('請求錯誤,請稍后重試')??}??)//?6.響應(yīng)攔截器instance.interceptors.response.use(??//?請求成功??res?=>?{????Toast.clear()????return?res.data??},??()?=>?{????Toast.clear()????Toast('請求錯誤,請稍后重試')??})export?default?Http


0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
axios在vue中的使用
  • 參與學(xué)習(xí)       27658    人
  • 解答問題       157    個

本課程介紹了如何在vue項目中優(yōu)雅的使用Axios。

進入課程

誰有 Http.js 的源碼 可以發(fā)一下嗎

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號