解決在vue中axios請求超時的問題

//在main.js設(shè)置全局的請求次數(shù),請求的間隙

axios.defaults.retry = 4;

axios.defaults.retryDelay = 1000;

axios.interceptors.response.use(undefined, functionaxiosRetryInterceptor(err){? ??

????var config = err.config;

? ? //如果配置不存在或未設(shè)置重試選項,則返回錯誤信息?

????if(!config || !config.retry) return Promise.reject(err.response.data);

? ? //設(shè)置變量即跟蹤重試次數(shù)? ??

????config.__retryCount = config.__retryCount || 0;

? ? // 檢查我們是否已經(jīng)超過了總重試次數(shù)??

? ? ?if(config.__retryCount >= config.retry) {

? ? ? ????? //?返回錯誤信息 ? ? ? ?

????????????return Promise.reject(err.response.data);

? ? }

? ? // 重試次數(shù)加1? ??

????config.__retryCount += 1;

? ? // 創(chuàng)建延時器等待發(fā)送重試請求

????var backoff = new Promise(function(resolve){? ? ? ??

????????????setTimeout(function(){? ? ? ? ? ??

????????????????resolve();

? ? ? ? }, config.retryDelay || 1);

? ? });

? ? // 返回調(diào)用AXIOS來重試請求

? ?return backoff.then(function(){? ? ? ??

????????????return axios(config);

? ? });

});

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容