Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
3
Параллельный запуск запросов с ограничением количества
Компании, где спрашивали:
HR SIGNAL
Условие задачи
Создайте функцию, которая для каждого элемента входного массива вызывает переданный callback и собирает результаты в массив ответов Response[].
Выполнение запросов должно происходить одновременно, однако количество одновременно запущенных запросов ограничено параметром limit. Такая схема позволяет уменьшить общее время работы программы, не перегружая ресурсы.
type Props<RequestData, Response> = {
callback: (args: RequestData) => Promise<Response>;
data: Array<RequestData>;
limit: number;
};
/* Решение задачи */
export async function runWithLimit<RequestData, Response>({
callback,
data,
limit,
}: Props<RequestData, Response>): Promise<Response[]> {
/* START SOLUTION HERE */
const result: Response[] = [];
return Promise.all([]);
}