fluxforge
Version:
基于 Web Worker 的文件分片库,提供并发处理、可暂停/取消任务控制、自动重试与 MD5 校验。
24 lines (23 loc) • 677 B
TypeScript
export declare class TaskController {
private paused;
private cancelled;
private pauseResolvers;
private delayHandles;
private abortController;
get signal(): AbortSignal;
get isCancelled(): boolean;
throwIfCancelled(): void;
waitWhilePaused(): Promise<void>;
delay(ms: number): Promise<void>;
pause(): void;
resume(): void;
cancel(): void;
cleanup(): void;
private flushDelays;
}
export interface RetryOptions {
maxRetries: number;
baseDelayMs: number;
maxDelayMs: number;
}
export declare function executeWithRetry<T>(fn: () => Promise<T>, controller: TaskController, options: RetryOptions): Promise<T>;