1.单独设置超时
get请求设置超时
axios(Object.assign({params,timeout: 180000})
post请求设置超时
方式1:axios(Object.assign({method: 'post',params,timeout: 180000})
方式2:
axios.post(url, params, { timeout: timeout }).then(res => {
console.log('response='+response);
}).catch(reason => {
console.log('reason'+reason);
})
})
全局设置超时:axios.defaults.timeout = 30000;
创建实例:
可以使用自定义配置新建一个 axios 实例 :
axios.create([config])
const instance = axios.create({ baseURL: 'https://some-domain.com/api/', timeout: 1000, headers: {'X-Custom-Header': 'foobar'}});
判断超时
axios(Object.assign({ data: { ...e } }, apiObject.fixFaultData)).then(
res => {
...
},err => {
// 栏截器在请求超时之后返回err对象,业务中具体请求在reject里判断request的readyState以及status。
if (err.request.readyState == 4 && err.request.status == 0) {
Modal.warning({
title: '提示',
content: (
<div>
<p>请求超时</p>
</div>
),
onOk: () => {},
});
}
}
);