Fetch js что это?
Страница в браузере, нужно получить JSON с сервера, в примерах эта функция и два await подряд, не понимаю зачем второй и где ловить ошибку.
Работа и карьера
Программирование
Компьютеры и связь
Учёба и образование
Бизнес и финансы
Ваш вопрос
Страница в браузере, нужно получить JSON с сервера, в примерах эта функция и два await подряд, не понимаю зачем второй и где ловить ошибку.
Fetch — интерфейс сетевого запроса, результатом которого служит Promise с Response. Объект ответа и его тело — разные этапы: после await fetch('/api/items') обычно еще выполняют await response.json(), чтобы получить разобранные данные. Между этими действиями проверяйте response.ok и решайте, как обработать неуспешный HTTP-статус. Ответ 404 не обязан отклонять Promise запроса. Ошибка сети или разбора JSON может попасть в catch, если ожидание находится в try/catch. После разбора отдельно проверьте нужные поля и типы. Для другого источника доступ определяется CORS, а no-cors не позволяет обойти ограничения чтения ответа. Два await здесь отражают два этапа работы, а не повторную отправку одного запроса.
Fetch выполняет сетевой запрос и возвращает Promise с объектом Response. Первый await ожидает ответ, а второй часто нужен для чтения и разбора тела, например await response.json().
Проверяйте response.ok: HTTP-ошибка вроде 404 сама по себе не обязана отклонять Promise fetch. Сетевые ошибки, ошибки разбора и неподходящие данные требуют своей обработки.
const response = await fetch('/api/items');. В браузере относительный адрес относится к текущему сайту.response.ok ложно, обработайте неуспешный HTTP-статус. Fetch обычно не считает сам факт ответа 404 сетевой ошибкой и может успешно вернуть объект Response.const data = await response.json();. Это отдельная асинхронная операция, поэтому появляется второй await.Пока нет премиум-вопросов в подборке
Не нашли то, что искали?
Задайте свой вопрос
Ответить на вопрос