用于配置异步速率限制函数的选项
• TFn extends AnyAsyncFunction
optional enabled: boolean | (rateLimiter) => boolean;
optional enabled: boolean | (rateLimiter) => boolean;
速率限制器是否启用。禁用时,maybeExecute 不会触发任何执行。 可以是布尔值或返回���尔值的函数。 默认为 true。
limit: number | (rateLimiter) => number;
limit: number | (rateLimiter) => number;
时间窗口内允许的最大执行次数。 可以是数字或返回数字的函数。
optional onError: (error, rateLimiter) => void;
optional onError: (error, rateLimiter) => void;
可选的错误处理程序,用于处理速率限制函数抛出错误时的情况。 如果提供,处理程序将使用错误和速率限制器实例进行调用。 这可以与 throwOnError 一起使用——处理程序将在抛出任何错误之前被调用。
unknown
AsyncRateLimiter<TFn>
void
optional onReject: (rateLimiter) => void;
optional onReject: (rateLimiter) => void;
可选的回调函数,在由于速率限制而拒绝执行时调用
AsyncRateLimiter<TFn>
void
optional onSettled: (rateLimiter) => void;
optional onSettled: (rateLimiter) => void;
可选的函数,在执行速率限制函数时调用
AsyncRateLimiter<TFn>
void
optional onSuccess: (result, rateLimiter) => void;
optional onSuccess: (result, rateLimiter) => void;
可选的函数,在执行速率限制函数时调用
ReturnType<TFn>
AsyncRateLimiter<TFn>
void
optional throwOnError: boolean;
optional throwOnError: boolean;
发生错误时是否抛出错误。 如果未提供 onError 处理程序,则默认为 true;如果提供了 onError 处理程序,则默认为 false。 可以显式设置以覆盖这些默认值。
window: number | (rateLimiter) => number;
window: number | (rateLimiter) => number;
限制适用的时间窗口(以毫秒为单位)。 可以是数字或返回数字的函数。
optional windowType: "fixed" | "sliding";
optional windowType: "fixed" | "sliding";
用于速率限制的窗口类型