$user_city всегда оказывается undefined, насколько понял т.к данные от API идут с задержкой. Как в таком случае записать полученный ответ во внешнюю переменную ,чтобы дальше в функции использовать? Или как-то остановить выполнение скрипта пока не придет ответ?
$geolocation = ymaps.geolocation.get({
provider: 'yandex',
autoReverseGeocode: true
}).then(function (result) {
$city = result.geoObjects.get(0).properties._data.text;
if($city == null ){ return "Не определён";} else {
return $city;
}
});
$user_city = $geolocation._value;