Почему .json() возвращает промис?
При использовании fetch хочу получить данные, однако при следующем использовании нашёл одну интересную вещь:
fetch('https://jsonplaceholder.typicode.com/todos/1')
.then(response => console.log(response.json())) // [object Promise] { ... }
Сам вопрос заключается в следующем: почему response.json() возвращает промис, а не данные из запроса? т.к. если воспользоваться подходом ниже, то всё работает как надо
fetch('https://jsonplaceholder.typicode.com/todos/1')
.then(response => response.json())
.then(json => console.log(json)) // данные из запроса
Ответы (1 шт):
Автор решения: Aziz Umarov
→ Ссылка
Дам кусочек отсюда
Процесс получения ответа обычно происходит в два этапа.
Во-первых, promise выполняется с объектом встроенного класса Response в качестве результата, как только сервер пришлёт заголовки ответа.
На этом этапе мы можем проверить статус HTTP-запроса и определить, выполнился ли он успешно, а также посмотреть заголовки, но пока без тела ответ