框架
版本
防抖器 API 参考
节流器 API 参考
速率限制器 API 参考
队列 API 参考
批处理器 API 参考

异步速率限制器选项

接口: AsyncRateLimiterOptions<TFn>

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

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

类型参数

TFn extends AnyAsyncFunction

属性

enabled?

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

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

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


initialState?

ts
optional initialState: Partial<AsyncRateLimiterState<TFn>>;
optional initialState: Partial<AsyncRateLimiterState<TFn>>;

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

限速器的初始状态


key?

ts
optional key: string;
optional key: string;

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

可选的键,用于标识此异步限速器实例。如果提供,该异步限速器将在开发者工具和 PacerProvider(如果适用)中通过此键进行标识。


limit

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

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

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


onError()?

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

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

当限速函数抛出错误时,可选的错误处理器。如果提供,该处理器将被调用,参数包括错误和限速器实例。这可以与 `throwOnError` 一起使用 - 在抛出任何错误之前,都会调用该处理器。

参数

error

unknown

args

Parameters<TFn>

rateLimiter

AsyncRateLimiter<TFn>

Returns (返回)

void


onReject()?

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

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

当由于限速而被拒绝执行时,可选的调用函数

参数

args

Parameters<TFn>

rateLimiter

AsyncRateLimiter<TFn>

Returns (返回)

void


onSettled()?

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

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

当限速函数被执行时,可选的调用函数

参数

args

Parameters<TFn>

rateLimiter

AsyncRateLimiter<TFn>

Returns (返回)

void


onSuccess()?

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

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

当限速函数被执行时,可选的调用函数

参数

result

ReturnType<TFn>

args

Parameters<TFn>

rateLimiter

AsyncRateLimiter<TFn>

Returns (返回)

void


throwOnError?

ts
optional throwOnError: boolean;
optional throwOnError: boolean;

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

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


window

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

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

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


windowType?

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

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

用于限速的窗口类型

  • 'fixed': 使用固定窗口,该窗口在窗口期结束后重置
  • 'sliding': 使用滑动窗口,允许执行随着旧的执行过期而进行 默认为 'fixed'
我们的合作伙伴
Code Rabbit
Unkey
订阅 Bytes

您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。

Bytes

无垃圾邮件。您可以随时取消订阅。

订阅 Bytes

您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。

Bytes

无垃圾邮件。您可以随时取消订阅。