UNPKG

540 BTypeScriptView Raw
1/**
2 * TODO auto adjust concurrent size to optimize concurrency
3 * currently solely relay on maxConcurrent
4 *
5 * data loading can be in arbitrary order,
6 * data processing must be in order
7 *
8 * this impl is faster than TaskPool for large number of keys
9 *
10 * @param args.maxConcurrent: manually adjust to avoid out of memory
11 * */
12export declare function batchProcess<K, D>(args: {
13 keys: K[];
14 loader: (key: K) => Promise<D>;
15 processor: (datum: D, key: K) => void | Promise<void>;
16 maxConcurrent?: number;
17}): Promise<void>;