Задать вопрос
@rusrich

Как заставить fetch js делать несколько попыток запросов при получении ошибки?

Добрый вечер.

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

Есть ли какой-то специальный синтаксис или только с помощью IF?

Спасибо.
  • Вопрос задан
  • 886 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
@dimoff66
Кратко о себе: Я есть
Второй параметр then - функция при ошибке, передаете в нее ссылку на функцию вызова фетча. Приблизительно так

const fetchData = () => {
  fetch(url).then(
   response = > { 
     // код при успешном ответе
   }, fetchData)
}

fetchData()
Ответ написан
Комментировать
E1ON
@E1ON Куратор тега JavaScript
Programming, Gamedev, VR
try {
  request();
} catch(e) {
  request();
}
Ответ написан
Комментировать
Seasle
@Seasle Куратор тега JavaScript
const getMethod = (url, repeatCount = 1) => fetch(url)
    .then(response => {
        if (!response.ok) {
            return repeatCount > 1
                ? get(url, repeatCount - 1)
                : Promise.reject(response);
        }

        return response;
    })
    .then(response => response.json());
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 13:22
30000 руб./за проект
18 дек. 2024, в 12:37
10000 руб./за проект
18 дек. 2024, в 12:22
5000 руб./за проект