Метод fetch() возвращает Promise, который разрешается в объект Response, представляющий ответ на запрос. Для получения содержимого ответа можно использовать различные методы, такие как json()text()arrayBuffer()blob(), в зависимости от типа данных, которые мы ожидаем получить в ответе.

Например, если мы ожидаем, что сервер вернет JSON-объект, мы можем получить его следующим образом:

fetch("https://example.com/data.json")
  .then((response) => response.json())
  .then((data) => console.log(data))
  .catch((error) => console.error(error))

Если в процессе выполнения запроса произойдет ошибка (например, сервер вернет код ошибки), то Promise будет отклонен и мы можем обработать ошибку с помощью метода catch(). В этом случае мы можем вывести сообщение об ошибке или выполнить другие действия, например, повторить запрос:

fetch("https://example.com/data.json")
  .then((response) => {
    if (!response.ok) {
      throw new Error("Ошибка HTTP: " + response.status)
    }
    return response.json()
  })
  .then((data) => console.log(data))
  .catch((error) => console.error(error))

В этом примере мы проверяем код состояния HTTP-ответа, и если он не ok (не в диапазоне 200-299), мы выбрасываем исключение с сообщением об ошибке. В блоке catch() мы ловим это исключение и выводим сообщение об ошибке в консоль.


Назад