@utoolkits/request
v0.0.7
Published
## 1. 安装依赖
Downloads
2
Readme
Request
1. 安装依赖
yarn add @utoolkits/request
or
npm i @utoolkits/request
2. 初始化
import Request from '@utoolkits/request';
const request = Request({
// 1. 支持 axios 配置参数
timeout: 3000,
...
// 2. 根据返回内容填充 Authorization
getToken() {
return '';
},
// 3. token 无效时回调
loginOut() {},
// 4. 全局错误提示
notify(msg) {},
});
| 参数 | 默认值 | 描述 | | -------- | ------ | ------------------------------------------------- | | getToken | 可选 | 获取业务系统 token | | loginOut | 可选 | 当传入了 loginOut 时,当 token 无效、过期时会执行 | | notify | 可选 | 当传入了 notify 时,非 SUCCESS 会提示对应错误 |
3. 添加拦截器
3.1 请求拦截器
request.interceptors.request.use(
(config) => {},
(error) => {}
);
3.2 响应拦截器
request.interceptors.response.use(
(config) => {},
(error) => {}
);
4 注意事项
- 请求拦截器后加入先执行,响应拦按加入顺序执行。
[请求拦截器] 外部
[请求拦截] 内部
[响应拦截] 内部
[响应拦截器] 外部
- 针对 Http 状态码,
axios
默认status
在200 ~ 299
认为成功的, 当服务端返回非区间的值500
,拦截器应该是如何执行的。
[响应错误拦截器] 内部
[响应错误拦截器] 外部
- 针对业务 code 码,当抛出非
SUCCESS
时,拦截器执行顺序
[请求拦截器] 外部
[请求拦截] 内部
[响应拦截] 内部
[响应拦截器] 外部
- 请求成功拦截器出现异常时,拦截器执行顺序如下
[请求成功] 外部
[响应错误拦截器] 内部
[响应错误拦截器] 外部