matias-axios-throttle
v0.1.1
Published
基于`axios`的一个接口节流功能
Downloads
9
Maintainers
Readme
matias-axios-throttle
说明
该项目为基于axios
的一个接口节流功能,当调用一个请求后,在该请求未返回时再次调用了相同接口,如果参数相同则将复用上一个请求的结果,但两个调用接口的回调都将收到请求的结果。一个常见的应用常见是,不同组件里面封装调用了相同接口,组件又在同一个页面中渲染。
安装与使用
- 安装matias-axios-throttle
pnpm
导入
$ pnpm add -D matias-axios-throttle
yarn
导入
$ yarn add -D matias-axios-throttle
npm
导入
$ npm install -D matias-axios-throttle
- 使用
- 仅需要用
requestThrottle
替换掉最后发起请求的方法。
import {
requestThrottle,
abortAll,
abortRequestTasks,
keepRequestTasks,
getRequestUrls,
} from '../throttle/index'
/**
* 节流请求
* @param httpAxios axios实例,将用该实例发起请求
* @param options 请求配置,类型同axios
* @returns promise
*/
requestThrottle(httpAxios, requestConfig)
.then((response) => {
console.log('请求成功')
})
.catch((err) => {
console.log('请求失败')
})
- 使用
requestThrottle
发起请求 - 开放几个操作任务的方法:
abortAll
取消全部请求getRequestUrls
获取当前请求的所有地址abortRequestTasks
取消指定的请求keepRequestTasks
保留指定请求,其他全部移除
注意abortRequestTasks
和keepRequestTasks
的参数都是url
注意两次相同requestThrottle
返回的的结果顺序和调用顺序是相反的。
版本
0.1.1
- 更新说明文档
0.1.0
- 实现基本功能