Loading homepage
Input: await mapAsyncLimit([1, 2, 3], async (value) => value * 2, 2) Output: [2, 4, 6], with at most two callbacks in flight
Input: await mapAsyncLimit(["a", "b"], (value, index) => value + index, 1) Output: ["a0", "b1"]
Input: await mapAsyncLimit([], async (value) => value, 3) Output: []
mapAsyncLimit<T, U>(items: readonly T[], mapper: (item: T, index: number) => U | PromiseLike<U>, limit: number): Promise<U[]>