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); }) })