axios 請求超時處理方法

2021-10-07 10:34:39 字數 1493 閱讀 4335

main.js

import axios from 'axios'

axios.defaults.timeout = 10000;//設定超時時間,單位毫秒

axios.defaults.retry = 3; //設定全域性請求次數

axios.defaults.retrydelay = 1000;//設定全域性請求間隙

// http 響應***

axios.interceptors.response.use((response) =>

// var code = response.data.code;

return response

}, error => ).then(() =>

})});

break

}} //超時處理

var config = error.config;

if (!config || !config.retry) return promise.reject(error);

// 設定用於跟蹤重試次數的變數

config.__retrycount = config.__retrycount || 0;

// 檢查我們是否已將重試總數最大化

if (config.__retrycount >= config.retry)

// 增加重試次數

config.__retrycount += 1;

// 創造新的承諾來處理指數退避

var backoff = new promise(function (resolve) , config.retrydelay || 1);

});// 返回承諾,其中將撤回axios以重試請求

return backoff.then(function () );

// return promise.reject(error)

})

重點是:

//超時處理

var config = error.config;

if (!config || !config.retry) return promise.reject(error);

// 設定用於跟蹤重試次數的變數

config.__retrycount = config.__retrycount || 0;

// 檢查我們是否已將重試總數最大化

if (config.__retrycount >= config.retry)

// 增加重試次數

config.__retrycount += 1;

// 創造新的承諾來處理指數退避

var backoff = new promise(function (resolve) , config.retrydelay || 1);

});// 返回承諾,其中將撤回axios以重試請求

return backoff.then(function () );

AXIOS超時取消請求

今天發現專案在網路不好的時候發出請求會一直使頁面處於等待狀態,十分不友好。所以我在發出請求的函式中增加了取消axios請求的方法。設定如下 axios外 const canceltoken axios.canceltoken let cancel axios內 設定canceltoken 提前結束a...

axios處理http請求

axios中文文件 在處理http請求方面,已經不推薦使用vue resource了,而是使用最新的axios,下面做乙個簡單的介紹。使用node npm install axios使用cdn make a request for a user with a given id axios.get u...

axios請求方法封裝

axios的使用上一般封裝好對應的方法,es6匯出,直接呼叫,訊息通知使用了elementui的message元件。這是乙個封裝了axios的rest風格的工具類,包擴常用的post,get,put,delete,在請求處理上使用統一的請求攔截處理。對返回的訊息進行攔截預處理,有資料返回資料,沒有返...