@beenotung/tslib
Version:
utils library in Typescript
18 lines (17 loc) • 540 B
TypeScript
/**
* TODO auto adjust concurrent size to optimize concurrency
* currently solely relay on maxConcurrent
*
* data loading can be in arbitrary order,
* data processing must be in order
*
* this impl is faster than TaskPool for large number of keys
*
* @param args.maxConcurrent: manually adjust to avoid out of memory
* */
export declare function batchProcess<K, D>(args: {
keys: K[];
loader: (key: K) => Promise<D>;
processor: (datum: D, key: K) => void | Promise<void>;
maxConcurrent?: number;
}): Promise<void>;