не получается вывести данные с функции вне функции, возврашает 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)