arayts
Version:
让 TypeScript 开发如丝般顺滑。ArayTS 提供了一套高效、优雅的算法工具集,包含常用的数据结构与算法实现,帮助开发者轻松构建可靠的应用程序。
54 lines • 1.94 kB
TypeScript
/**
* 异步工具函数集合
*/
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