easy-umi-request-cancel
Version:
umi-request cancel by key
73 lines (47 loc) • 2.87 kB
Markdown
# easy-umi-request-cancel
umi-request 取消请求第三方库, 你可以很方便的中断 umi-request 请求
[中文文档](https://github.com/itkui/easy-umi-request-cancel/blob/master/README.md)|[英文文档](https://github.com/itkui/easy-umi-request-cancel/blob/master/en.README.md)
[](https://www.npmjs.com/package/easy-umi-request-cancel)
## 安装
```shell
yarn add easy-umi-request-cancel
npm install --save easy-umi-request-cancel
```
## 扩展属性
| 属性 | 描述 | 类型 | 可选值 | 默认值 |
| ------------------------------------------------------------------- | --------------------------------------- | ---------------- | -------------------------------- | ---------------------- |
| cancelKey | 中断请求唯一 ID, 最高优先级 | String | | |
| urlUnique | 使用 URL 进行比较 | String \| Regexp | 'host'、'path'、'search'、RegExp | |
| [urlBase](https://developer.mozilla.org/zh-CN/docs/Web/API/URL/URL) | URL 构造函数的第二个参数 | DOMString | | window.location.origin |
| urlUniqueList | 匹配地址集合,可以和`urlUnique`共同使用 | Array | | |
## 参数详情
### urlUnique
- -- host [string]
使用请求地址的 host 进行比较,如果两个请求匹配内容相同,则会中断上一个请求
- -- path [string]
使用请求地址的 host 与 pathname 进行比较,如果两个请求匹配内容相同,则会中断上一个请求
- -- search [string]
使用请求地址的 host 与 pathname 与 search 进行比较,如果两个请求匹配内容相同,则会中断上一个请求
- -- RegExp [RegExp]
使用正则表达式对两个请求的 href 进行比较,如果两个请求匹配内容相同,则会中断上一个请求
## 案例
```javascript
import cancelMiddleware from "easy-umi-request-cancel";
import request, { extend } from 'umi-request'
request.use(
cancelMiddleware,
{ core: true }
)
const req = extend({
timeout: 3000,
urlBase: process.env.NODE_ENV === 'development' ? 'http://localhost': ''
urlUnique: 'search'
})
/* cancelKey */
request
.get("/api/v1/xxx?id=1", {
cancelKey: "cancelKey1", // 第一优先级
})
```
## 感谢
[umi-request](#https://github.com/umijs/umi-request)