Как получить status code из запроса fetch в блоке catch?

Для получения статус-кода из запроса fetch в блоке catch вам потребуется обработать объект ошибки, который передается в этот блок. Объект ошибки содержит свойство "response", которое является объектом Response. У объекта Response есть свойство "status", которое представляет собой статус-код ответа на запрос.

Ниже приведен пример кода, который иллюстрирует этот подход:

fetch('https://example.com/api/data')
  .then(response => {
    if (!response.ok) {
      throw new Error(response.statusText);
    }
    // обрабатываем успешный ответ
    return response.json();
  })
  .catch(error => {
    if (error.response) {
      // получаем статус-код из объекта Response
      console.log('Статус-код ошибки:', error.response.status);
    } else {
      console.log('Ошибка при выполнении запроса:', error.message);
    }
  });

В данном примере мы отправляем запрос на "https://example.com/api/data" с использованием функции fetch(). Затем мы используем метод then() для обработки успешного ответа и метод catch() для обработки ошибок.

В блоке then() мы проверяем, если статус ответа не является успешным (ок), то мы генерируем ошибку с помощью конструкции throw new Error(). Это приведет к вызову блока catch() с объектом ошибки.

В блоке catch() мы сначала проверяем, есть ли у объекта ошибки свойство "response". Если оно есть, то мы получаем статус-код ошибки с помощью error.response.status и выводим его в консоль. В противном случае мы выводим ошибку выполнения запроса с помощью error.message.

Надеюсь, данное объяснение помогло вам понять, как получить статус-код из запроса fetch в блоке catch.