Как достучаться к 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)
}
→ Ссылка