axios如何单独封装为网络请求
时间: 2023-07-19 14:13:54 浏览: 80
axios 是一个基于 Promise 的 HTTP 客户端,可以在浏览器和 Node.js 环境下使用。我们可以通过封装 axios 来实现网络请求的统一管理和处理,具体步骤如下:
1. 创建 axios 实例:我们可以通过创建 axios 实例来配置 axios 的一些默认选项,比如请求超时时间、请求头信息、请求拦截器和响应拦截器等。
```javascript
import axios from 'axios'
const instance = axios.create({
baseURL: 'http://api.example.com',
timeout: 5000,
headers: {
'Content-Type': 'application/json'
}
})
// 添加请求拦截器
instance.interceptors.request.use(config => {
// 在发送请求之前做些什么
return config
}, error => {
// 对请求错误做些什么
return Promise.reject(error)
})
// 添加响应拦截器
instance.interceptors.response.use(response => {
// 对响应数据做点什么
return response.data
}, error => {
// 对响应错误做点什么
return Promise.reject(error)
})
export default instance
```
2. 封装网络请求方法:我们可以根据实际需求封装不同的网络请求方法,比如 GET、POST、PUT、DELETE 等。在请求方法中,我们可以通过调用 axios 实例的方法来发送网络请求,并对请求结果进行处理。
```javascript
import axios from './axios'
export function get(url, params) {
return axios.get(url, {
params
})
}
export function post(url, data) {
return axios.post(url, data)
}
export function put(url, data) {
return axios.put(url, data)
}
export function del(url) {
return axios.delete(url)
}
```
通过封装 axios,我们可以实现网络请求的统一管理和处理,提高代码的复用性和可维护性。在实际开发中,我们可以根据具体情况来封装网络请求方法,以满足不同的业务需求。
阅读全文