axios 设置超时时间 timeout

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);
  })
})
复制代码
posted @ 2022-03-21 09:44  前端白雪  阅读(13764)  评论(0编辑  收藏  举报