给我一个vue中axios的二次封装的函数实例
时间: 2024-03-26 09:13:49 浏览: 73
好的,这是一个简单的Vue中Axios的二次封装函数实例:
```javascript
import axios from 'axios'
const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API,
timeout: 5000
})
service.interceptors.request.use(
config => {
// 在发送请求之前做些什么
return config
},
error => {
// 对请求错误做些什么
console.log(error) // for debug
Promise.reject(error)
}
)
service.interceptors.response.use(
/**
* 如果您想获得http信息,如头信息或状态信息,请返回response => response
*/
/**
* 通过自定义代码确定请求状态
* 这里只是一个例子
* 您还可以通过HTTP状态码判断状态
*/
response => {
const res = response.data
// 如果自定义代码不是200则判断为错误。
if (res.code !== 200) {
// 做一些错误处理
return Promise.reject(new Error(res.message || 'Error'))
} else {
return res
}
},
error => {
console.log('err' + error) // for debug
// 做一些错误处理
return Promise.reject(error)
}
)
export default service
```
这段代码将创建一个新的 axios 实例,并拦截请求和响应,您可以在这里添加逻辑以适应项目的需求。
阅读全文