Назад к задачам
Junior — Senior
10

Обёртка fetch с автоматическим повтором при неудаче

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Необходимо реализовать функцию‑обёртку над fetch, которая будет автоматически повторять запрос в случае ошибки. Функция принимает количество попыток и любые остальные аргументы, передаваемые в fetch. После каждой неудачной попытки следует выполнить запрос ещё раз, пока количество оставшихся попыток не станет -1 (бесконечный режим). Пример сигнатуры функции:

async function fetchWithRetry(attempts, ...args) {
  return fetch(...args);
}

Функция должна возвращать полученный от fetch промис или бросать ошибку, если все попытки исчерпаны.