Skip to content

Commit

Permalink
📝
Browse files Browse the repository at this point in the history
  • Loading branch information
zjxxxxxxxxx committed Apr 21, 2020
1 parent 592746e commit 78db40a
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 24 deletions.
38 changes: 19 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -384,6 +384,25 @@ instance('/test');
instance.get('/test');
```

### `axios.Axios`

`axios.Axios`是一个类,其实`axios`就是`axios.Axios`类的实例改造而来的,`axios.create(config)`创建的也是`axios.Axios`的实例。

直接实例化`axios.Axios`可以得到一个`纯净的实例`,不能当函数调用,传入的自定义配置就是`纯净的实例`的默认配置,而不会像`axios.create(config)`一样去合并`axios`中的默认配置。

```typescript
axios.defaults.baseURL = 'https://www.xxx.com';

const instance = new axios.Axios({
params: { value: '零污染' }
});

// 最终请求的 URL 是这样的 => /test?value=零污染
// /test 来自传入的 '/test'
// value=零污染 来自 instance.defaults.params
instance.get('/test');
```

### `axios.interceptors`

可以先拦截请求或响应,然后再由then或catch处理。
Expand Down Expand Up @@ -481,22 +500,3 @@ const uri = axios.getUri({
params: { id: 1 }
});
```

### `axios.Axios`

`axios.Axios`是一个类,其实`axios`就是`axios.Axios`类的实例改造而来的,`axios.create(config)`创建的也是`axios.Axios`的实例。

直接实例化`axios.Axios`可以得到一个`纯净的实例`,不能当函数调用,传入的自定义配置就是`纯净的实例`的默认配置,而不会像`axios.create(config)`一样去合并`axios`中的默认配置。

```typescript
axios.defaults.baseURL = 'https://www.xxx.com';

const instance = new axios.Axios({
params: { value: '零污染' }
});

// 最终请求的 URL 是这样的 => /test?value=零污染
// /test 来自传入的 '/test'
// value=零污染 来自 instance.defaults.params
instance.get('/test');
```
8 changes: 4 additions & 4 deletions src/axios.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* @Author: early-autumn
* @Date: 2020-04-15 12:45:18
* @LastEditors: early-autumn
* @LastEditTime: 2020-04-20 14:48:03
* @LastEditTime: 2020-04-21 14:38:43
*/
import { AxiosRequestConfig, Data, AxiosResponse, AxiosBaseInstance, AxiosInstance } from './types';
import Axios from './core/Axios';
Expand Down Expand Up @@ -50,9 +50,9 @@ function createInstance(config: AxiosRequestConfig): AxiosInstance {
return instance.request(requestConfig);
}

// instance 的属性设置到 axios 函数中
// instance 的属性合并到 axios 函数中
Object.assign(axios, instance);
// instance 的方法设置到 axios 函数中
// instance 的方法合并到 axios 函数中
Object.setPrototypeOf(axios, Object.getPrototypeOf(instance));

return axios as AxiosInstance;
Expand All @@ -74,7 +74,7 @@ axios.Axios = Axios;
// 添加 CancelToken 类
axios.CancelToken = CancelToken;

// 添加判断取消方法
// 添加 判断取消请求 方法
axios.isCancel = isCancel;

export default axios;
2 changes: 1 addition & 1 deletion src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* @Author: early-autumn
* @Date: 2020-04-13 15:23:53
* @LastEditors: early-autumn
* @LastEditTime: 2020-04-21 12:13:49
* @LastEditTime: 2020-04-21 14:38:31
*/
/**
* 任意值对象
Expand Down

0 comments on commit 78db40a

Please sign in to comment.