Задать вопрос
Chefranov
@Chefranov
Новичок

Как правильно вернуть значение?

Есть следующий код:
function getIP(ip) {
  fetch("//extreme-ip-lookup.com/json/" + ip).then(function (r) {
    return r.json().then(function (data) {
      return {
        status: r.status,
        body: data
      };
    });
  }).then(function (obj) {
    return console.log(obj.body.country);
  });
}
getIP("77.120.150.66");

var myip = "" //сюда вернуть значение obj.body.country;

необходимо записать в переменную myip значение obj.body.country
  • Вопрос задан
  • 82 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
hzzzzl
@hzzzzl
function getIP(ip) {
  return fetch('https://extreme-ip-lookup.com/json/' + ip)
	.then(d => d.json())
	.then(d => ( {status: d.status, country: d.country} ))
}

myip = await getIP("77.120.150.66")   
// {status: "success", country: "Ukraine"}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
alex_keysi
@alex_keysi
Помог с решением? Отметь “правильный ответ”
Если знаком с каким нибудь менеджером состояний, то у менеджера есть всегда интерфейс записи в объект.
Поэтому я бы создал объект
Let myData = {
 myIp: null,
 setMyIp: (ip) => this.myIp = ip
}

Тогда явно будет видно что ты записываешь в объект который находится в другой области видимости.
Ответ написан
Robur
@Robur
Знаю больше чем это необходимо
добавь myIp = obj.body.country
перед строкой с console.log. И все что ты хочешь с myIp сделать после этого - тоже туда.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы