Sobes.tech
Junior — Senior
78

Функция HTTP‑запроса с автоматическими повторениями и ограничением по времени

被问到的公司:

OZONOZON
任务条件

Требуется написать функцию retryFetch, принимающую следующие аргументы:

  • endpoint — URL, к которому будет отправлен HTTP‑запрос;
  • maxRetries — число попыток повторить запрос в случае неудачи;
  • requestTimeout — максимальная продолжительность ожидания ответа для каждой отдельной попытки. Функция должна выполнить запрос fetch к указанному endpoint и, в случае ошибки или превышения таймаута, повторять его, пока не получит успешный ответ или не исчерпает количество попыток maxRetries. При успешном завершении запрос должен вернуть полученные данные, преобразованные в JSON. Если после всех попыток запрос не удался, следует бросить последнюю полученную ошибку.