UNPKG

synapse-storage

Version:

Набор инструментов для управления состоянием и апи-запросами

22 lines (13 loc) 916 B
import { forkJoin, timer } from "rxjs"; import { mergeMap } from "rxjs/operators"; import { chunk } from "../../../_utils/index.js"; /** * Разбиение запроса на порции * Отправляется ПАРАЛЛЕЛЬНО n-запросов и дожидается ответа от каждого * @param fn - функция в которую передается chunk и возвращается функция api * @param arr - массив который нужно поделить * @param size - размер порции * @param delayMs - задержка между запросами в миллисекундах */ const chunkRequestParallel = (fn, arr, size, delayMs = 0)=>forkJoin(chunk(arr, size).map((chunkItem, index)=>timer(index * delayMs).pipe(mergeMap(()=>fn(chunkItem))))); export { chunkRequestParallel }; //# sourceMappingURL=chunkRequestParallel.js.map