封装axios实现同步异步
时间: 2024-08-15 19:01:02 浏览: 109
封装 Axios 可以让你在项目中更方便地管理网络请求,无论是同步还是异步。Axios 是一个流行的基于 promise 的 JavaScript HTTP 客户端,适用于浏览器和 Node.js 环境。
以下是一个简单的封装示例:
```javascript
import axios from 'axios';
const service = axios.create({
baseURL: process.env.REACT_APP_API_URL, // API 的基础 URL
timeout: 5000, // 请求超时时间(单位:毫秒)
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${localStorage.getItem('token')}`, // 添加身份验证信息
},
});
// 同步请求(Promise 化的 get 方法)
service.getSync = async (url) => {
try {
const response = await service.get(url);
return response.data;
} catch (error) {
console.error('Error fetching data', error);
throw error;
}
};
// 异步请求(原生的 then 方法)
service.getAsync = async (url, config = {}) => {
try {
const response = await service.get(url, config);
return response.data;
} catch (error) {
throw error; // 或者处理错误
}
};
export default service;
阅读全文