在项目中遇到了后台接口返回数据慢的时候往往需要设置请求失效时间,在项目中遇到设置timeout失效问题由此记录下来。
之前代码是这样设置axios的
import axios from 'axios';
let Config = {
TIMEOUT: 60000,
baseURL: {
dev: window.BASEURL_01,
prod: ''
}
};
axios.defaults.timeout = Config.TIMEOUT;
然而这样设置的timeout并不会生效,因为axios并没有创建实例或者挂载到实例对象上.
只需要加上以下代码将axios挂载到实例对象上即可。
//原型上挂载axios,全局使用
Vue.prototype.axios = axiso;
axios.defaults.timeout = Config.TIMEOUT;
或者直接使用axios创建实例即可
import axios from 'axios'
const httpAxios = axios.create();//创建实例
let Config = {
TIMEOUT: 60000,
baseURL: {
dev: window.BASEURL_01,
prod: ''
}
};
// axios 配置
httpAxios.defaults.timeout = Config.TIMEOUT;