ts 封装axios
时间: 2023-08-05 14:06:21 浏览: 132
vue+ts下对axios的封装实现
在TypeScript中封装axios可以按照以下步骤进行:
1. 首先,导入axios库并创建axios实例。可以使用import语句导入axios,并使用axios.create()方法创建一个实例。在创建实例时,可以设置一些配置,比如基础路径、请求超时时间等。这样可以确保每次请求都使用相同的配置。
```typescript
import axios, { AxiosRequestConfig } from 'axios';
const instance = axios.create({
baseURL: 'http://pcapi-xiaotuxian-front-devtest.itheima.net/',
timeout: 5000,
// 其他配置
});
```
2. 接下来,可以封装请求函数。可以创建一个函数,接受一个AxiosRequestConfig类型的参数,并返回一个Promise实例。在函数内部,使用创建的axios实例的request方法发送请求,并根据请求结果的状态来决定Promise实例的状态。
```typescript
type Response<T = any> = {
msg: string;
result: T;
};
export default <T>(config: AxiosRequestConfig) => {
return new Promise<Response<T>>((resolve, reject) => {
instance
.request<Response<T>>(config)
.then((response) => {
resolve(response.data);
})
.catch((error) => {
reject(error);
});
});
};
```
这样,就完成了在TypeScript中封装axios的过程。通过这个封装,可以方便地发送请求,并且可以获得类型提示,提高代码的可维护性和可读性。
阅读全文