框架
版本
Debouncer API 参考
Throttler API 参考
速率限制器 API 参考
队列 API 参考
批处理器 API 参考
批处理器示例

AsyncRateLimiterOptions

接口:AsyncRateLimiterOptions<TFn>

定义于:async-rate-limiter.ts:7

用于配置异步速率限制函数的选项

类型参数

TFn extends AnyAsyncFunction

属性

enabled?

ts
optional enabled: boolean | (rateLimiter) => boolean;
optional enabled: boolean | (rateLimiter) => boolean;

定义于:async-rate-limiter.ts:13

速率限制器是否启用。禁用时,maybeExecute 不会触发任何执行。 可以是布尔值或返回���尔值的函数。 默认为 true。


limit

ts
limit: number | (rateLimiter) => number;
limit: number | (rateLimiter) => number;

定义于:async-rate-limiter.ts:18

时间窗口内允许的最大执行次数。 可以是数字或返回数字的函数。


onError()?

ts
optional onError: (error, rateLimiter) => void;
optional onError: (error, rateLimiter) => void;

定义于:async-rate-limiter.ts:24

可选的错误处理程序,用于处理速率限制函数抛出错误时的情况。 如果提供,处理程序将使用错误和速率限制器实例进行调用。 这可以与 throwOnError 一起使用——处理程序将在抛出任何错误之前被调用。

参数

error

unknown

rateLimiter

AsyncRateLimiter<TFn>

返回

void


onReject()?

ts
optional onReject: (rateLimiter) => void;
optional onReject: (rateLimiter) => void;

定义于:async-rate-limiter.ts:28

可选的回调函数,在由于速率限制而拒绝执行时调用

参数

rateLimiter

AsyncRateLimiter<TFn>

返回

void


onSettled()?

ts
optional onSettled: (rateLimiter) => void;
optional onSettled: (rateLimiter) => void;

定义于:async-rate-limiter.ts:32

可选的函数,在执行速率限制函数时调用

参数

rateLimiter

AsyncRateLimiter<TFn>

返回

void


onSuccess()?

ts
optional onSuccess: (result, rateLimiter) => void;
optional onSuccess: (result, rateLimiter) => void;

定义于:async-rate-limiter.ts:36

可选的函数,在执行速率限制函数时调用

参数

result

ReturnType<TFn>

rateLimiter

AsyncRateLimiter<TFn>

返回

void


throwOnError?

ts
optional throwOnError: boolean;
optional throwOnError: boolean;

定义于:async-rate-limiter.ts:45

发生错误时是否抛出错误。 如果未提供 onError 处理程序,则默认为 true;如果提供了 onError 处理程序,则默认为 false。 可以显式设置以覆盖这些默认值。


window

ts
window: number | (rateLimiter) => number;
window: number | (rateLimiter) => number;

定义于:async-rate-limiter.ts:50

限制适用的时间窗口(以毫秒为单位)。 可以是数字或返回数字的函数。


windowType?

ts
optional windowType: "fixed" | "sliding";
optional windowType: "fixed" | "sliding";

定义于:async-rate-limiter.ts:57

用于速率限制的窗口类型

  • 'fixed':使用在窗口期过后重置的固定窗口
  • 'sliding':使用允许随着旧执行过期而执行的滑动窗口 默认为 'fixed'