UNPKG

arayts

Version:

让 TypeScript 开发如丝般顺滑。ArayTS 提供了一套高效、优雅的算法工具集,包含常用的数据结构与算法实现,帮助开发者轻松构建可靠的应用程序。

54 lines 1.94 kB
/** * 异步工具函数集合 */ export declare class Async { /** * 重试函数:当异步操作失败时自动重试 * @param fn 需要重试的异步函数 * @param maxAttempts 最大重试次数 * @param delay 重试间隔(ms) */ static retry<T>(fn: () => Promise<T>, maxAttempts?: number, delay?: number): Promise<T>; /** * 超时控制:为异步操作添加超时限制 * @param promise 原始Promise * @param timeout 超时时间(ms) */ static withTimeout<T>(promise: Promise<T>, timeout: number): Promise<T>; /** * 并发控制:限制并发请求数量 * @param tasks 任务数组 * @param limit 并发限制数 */ static parallel<T>(tasks: (() => Promise<T>)[], limit?: number): Promise<T[]>; /** * 防抖函数:将多次调用合并为一次 * @param fn 需要防抖的函数 * @param wait 等待时间(ms) */ static debounce<T extends (...args: any[]) => Promise<any>>(fn: T, wait?: number): (...args: Parameters<T>) => Promise<ReturnType<T>>; /** * 节流函数:限制函数调用频率 * @param fn 需要节流的函数 * @param wait 等待时间(ms) */ static throttle<T extends (...args: any[]) => Promise<any>>(fn: T, wait?: number): (...args: Parameters<T>) => Promise<ReturnType<T>>; /** * 缓存异步结果 * @param fn 异步函数 * @param ttl 缓存有效期(ms) */ static memoize<T extends (...args: any[]) => Promise<any>>(fn: T, ttl?: number): T; /** * 等待任务完成 * @param condition 条件判断函数 * @param options 配置选项 * @returns Promise<boolean> */ static waitUntil(condition: () => Promise<boolean> | boolean, options?: { timeout?: number; interval?: number; timeoutMessage?: string; }): Promise<boolean>; } //# sourceMappingURL=async.d.ts.map