0.1.1 • Published 2 years ago

matias-axios-throttle v0.1.1

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

matias-axios-throttle

说明

该项目为基于axios的一个接口节流功能,当调用一个请求后,在该请求未返回时再次调用了相同接口,如果参数相同则将复用上一个请求的结果,但两个调用接口的回调都将收到请求的结果。一个常见的应用常见是,不同组件里面封装调用了相同接口,组件又在同一个页面中渲染。

安装与使用

  1. 安装matias-axios-throttle
  • pnpm导入

    $ pnpm add -D matias-axios-throttle

  • yarn导入

    $ yarn add -D matias-axios-throttle

  • npm导入

    $ npm install -D matias-axios-throttle

  1. 使用
  • 仅需要用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('请求失败')
    })
  1. 使用requestThrottle发起请求
  2. 开放几个操作任务的方法:

  • abortAll取消全部请求
  • getRequestUrls获取当前请求的所有地址
  • abortRequestTasks取消指定的请求
  • keepRequestTasks保留指定请求,其他全部移除

注意abortRequestTaskskeepRequestTasks的参数都是url

注意两次相同requestThrottle返回的的结果顺序和调用顺序是相反的。

版本

0.1.1

  • 更新说明文档

0.1.0

  • 实现基本功能