не получается вывести данные с функции вне функции, возврашает undefined. Если все то же самое провернуть внутри функции все получается корректно.
нахуя, 21 век на дворе - надо юзать async/await, что-то типа такого async function getIpAddress() { try { const response = await fetch("https://api.db-ip.com/v2/free/self") const data = response.json() return data.ipAddress } catch (error) { console.error("Ошибка получения IP адреса:", error) } } getIpAddress().then(ipAddress => console.log(ipAddress)) JS async function getIpAddress() { try { const response = await fetch("https://api.db-ip.com/v2/free/self") const data = response.json() return data.ipAddress } catch (error) { console.error("Ошибка получения IP адреса:", error) } } getIpAddress().then(ipAddress => console.log(ipAddress))
vtlstolyarov, Хуевая оптимизация, на старых версиях не работает, нужно делать проверку респонза в каждом then, чтобы не падал сервер Доказал
vtlstolyarov, Единственный плюс это читаемость кода, но в случае если это запрос, хуевая практика использовать цепочку промисов, т.к. сервер может быть не доступен, может вернуть ошибку, а её обработчик тогда надо встраивать в каждый блок then
eqshka, нихуя ты не доказал, ты какую-то хуйню написал - как ты сделаешь проверку response во втором then, если второй промис это промис на data а не на response?
У тебя внутри синхронной функции асинхронный код сделай чтобы функция дожидалась результата, задав её так async function getIp() и вызывать её нужно в переменную например const result = await getIP() console.log(result)
ScamInside, Тебе пишет что асинхронная функция должна вызываться в какой-либо функции, а не не уровне выше, т.е. за её пределами. Из меня объяснятор так себе, но думаю ты понял
daz5554, Да, спасибо.. пока еще не совсем понятно, ведь надо записать значение в переменую вне фукции :/
ScamInside, сделай переменную не константную вне функции, например let result; и в функции которую я скинул выше её заполняй т.е. получится result = await getIP();