Как достучаться к data у Response?
Я делаю запрос на определенный погодный api, этот код обернут в асинхронную функцию, с ключевым словом async пример:
const res = await fetch("https://api.openweathermap.org/data/2.5/forecast?q={city name}&appid={API key}")
if(res.ok) {
console.log(res.data)
}
Но у меня не выходит достучаться до data у Response. Что делать в такой ситуации?
(city name и api key в реальном коде присутствуют)
Ответы (3 шт):
Автор решения: user469485
→ Ссылка
Для того, чтобы получить доступ к data у Response, сначала ответ нужно спарсить в нужный формат res.json() или res.text() эти 2 метода возвращают промис, поэтому мы должны использовать await.
Автор решения: Anton
→ Ссылка
Возможно, вам будет легче сориентироваться в цепочке then
fetch("https://api.openweathermap.org/data/2.5/forecast?q={city
name}&appid={API key}")
.then(res => {
if(res.ok) => res.json()
})
.then(res => console.log(res.data))
Автор решения: fortavey
→ Ссылка
Доступ к data вы можете получить используя например метод .json() так:
fetch('https://...')
.then((response) => response.json())
.then((data) => console.log(data))
Или так:
async function foo() {
const res = await fetch('https://...')
const data = await res.json()
console.log(data)
}