UNPKG

@shutootaki/gwm

Version:
55 lines 2.13 kB
/** * 非同期処理共通ユーティリティ */ /** * 並列実行制御付きでタスクを実行する * @param tasks 実行するタスクの配列 * @param concurrency 最大並列数 * @returns すべてのタスクの結果 */ export declare function executeWithConcurrency<T>(tasks: (() => Promise<T>)[], concurrency: number): Promise<T[]>; /** * タイムアウト付きでPromiseを実行する * @param promise 実行するPromise * @param timeoutMs タイムアウト時間(ミリ秒) * @returns 結果またはタイムアウトエラー */ export declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number): Promise<T>; /** * 失敗時にリトライする * @param fn 実行する関数 * @param maxRetries 最大リトライ回数 * @param delayMs リトライ間隔(ミリ秒) * @returns 結果 */ export declare function withRetry<T>(fn: () => Promise<T>, maxRetries?: number, delayMs?: number): Promise<T>; /** * 指定時間待機する * @param ms 待機時間(ミリ秒) */ export declare function sleep(ms: number): Promise<void>; /** * 配列の各要素に対して非同期関数を順次実行する * @param items 処理する配列 * @param fn 各要素に適用する非同期関数 * @returns 結果の配列 */ export declare function mapSequential<T, U>(items: T[], fn: (item: T, index: number) => Promise<U>): Promise<U[]>; /** * 配列の各要素に対して非同期関数を並列実行する(制限あり) * @param items 処理する配列 * @param fn 各要素に適用する非同期関数 * @param concurrency 最大並列数 * @returns 結果の配列 */ export declare function mapConcurrent<T, U>(items: T[], fn: (item: T, index: number) => Promise<U>, concurrency?: number): Promise<U[]>; /** * すべてのPromiseが完了するまで待機し、成功・失敗を区別する * @param promises 実行するPromiseの配列 * @returns 成功・失敗の結果 */ export declare function allSettled<T>(promises: Promise<T>[]): Promise<{ succeeded: T[]; failed: Error[]; }>; //# sourceMappingURL=async.d.ts.map