=> res.json())
.then((out) => {
country = out.country
city = out.city
})
.catch(err => { throw err });
async function fetGetAsIp() {
const respons = await fetch(url)
const data = await respons.json()
ip = data.query
country = data.country
city = data.city
console.log(ip, 'ip', country, 'country', city, 'city')// показывает все верно
}
fetGetAsIp()
console.log(city) //undefined
console.log(country) //undefined
и последние консол логи выполняются быстрее чем присваивание что можно сделать ?
учить асинхронность
т.е делать функцию и выставлять async/await?
async function fetGetAsIp() { const respons = await fetch(url) const data = await respons.json() return data } fetGetAsIp().then(data => console.log(data))
response.json тоже нужно ждать?
можно не ждать но от этого зависит, упадёт оно внутри fetGetAsIp или снаружи. если упадёт
так все равно же не получается так
https://learn.javascript.ru/promise-basics
Обсуждают сегодня