預設配置
設置預設設定
可以設置預設配置,該配置將套用至每個請求。
全域預設配置
axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
自訂實體預設配置
// 建立實體時指派預設配置
const instance = axios.create({
baseURL: 'https://api.example.com'
});
// 修改實體建立時所指派的預設配置
instance.defaults.headers.common['Authorization'] = AUTH_TOKEN;
配置先後順序
配置將會以設置的先後順序來進行合併,最先的是函式庫預設值,可以在 lib/defaults/index.js 中找到,接著是實體的 defaults
屬性,最後是請求的 config
配置,後者將會覆蓋前者,如下例:
// 建立一個實體並套用預設配置
// 在此時,timeout 配置為 `0` 正如函式庫所預設
const instance = axios.create();
// 複寫函式庫所預設的 timeout 時長
// 此後,所有透過該實體的請求,都將會在請求逾時前等待 2.5 秒
instance.defaults.timeout = 2500;
// 若知曉請求將花費更多時間,在此次請求中複寫 timeout 時長
instance.get('/longRequest', {
timeout: 5000
});