axios 设置超时时间 timeout
在项目中,所有请求都是走统一封装过的axios,统一设置了超时时间.
const service = axios.create({ baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url timeout: 50000 // request timeout })
但是有一个接口耗费时间巨长,网络不好时经常会超时,改统一设置的超时时间感觉不太好,所以想针对这个请求单独设置超时时间.
以下是普通请求:
// 修改文件名称 export function ccc(data) { return request({ //request里封装了axios url: `/aaa/bbb/ccc`, method: 'post', data }) }
单独设置请求超时时间:
export function ddd(data, applyNo) { return request2({ url: `/aaa/bbb/ddd`, method: 'post', headers: { 'ApplyNo': applyNo }, timeout: 3 * 60 * 1000, data }) }
另headers: { 'ApplyNo': applyNo }
可直接在请求头上添加属性
全局设置网络超时
axios.defaults.timeout = 30000;
单独对某个请求设置网络超时
let timeout = parseInt(paramsTimeout); this.$http.post(url, params, {timeout: timeout}) .then(res => { console.log('response='+response); }) .catch(reason => { console.log('reason'+reason); }) })