vue プロジェクトの axios リクエストにはタイムアウト期間が均一に設定されており、単一のインターフェイス リクエストが行われるとタイムアウト期間はリセットされます。
公式ウェブサイトの推奨事項によると: axios 中国語ドキュメント
設定の優先順位
設定は優先順位に従ってマージされます。順序は、lib/defaults.js
にあるライブラリのデフォルト値、次にインスタンスのdefaults
属性、最後にリクエストのconfig
パラメータです。後者は前者より優先されます。
以下に例を示します。
// 使用由库提供的配置的默认值来创建实例
// 此时超时配置的默认值是 `0`
var instance = axios.create();
// 覆写库的超时默认值
// 现在,在超时前,所有请求都会等待 2.5 秒
instance.defaults.tineout = 2500;
// 为已知需要花费很长时间的请求覆写超时设置
instance.get('/longRequest’,{
tineout:5000
});
統合設定のデフォルトのタイムアウト:
const httpAxios = axios.create();//创建实例
let Config = {
TIMEOUT: 6000,//设置超时时间为6秒
baseURL: {
dev: window.BASEURL_01,
prod: ''
}
};
httpAxios.defaults.timeout = Config.TIMEOUT;
デフォルトのリクエスト時間インターフェイスリクエスト:
export function newTaskAdd(data) {
return request({
url: '/api/taskPlan/add',
method: 'post',
data
})
}
タイムアウトをリセットするインターフェース要求:
export function newTaskAdd(data) {
return request({
url: '/api/taskPlan/add',
method: 'post',
timeout: 60 * 60 * 1000,
data
})
}