Метод 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()
мы ловим это исключение и выводим сообщение об ошибке в консоль.