Собственно, пытаюсь запарсить объект и получаю undefined.
function iataToCity(iata) {
return $.getJSON('http://api.travelpayouts.com/data/cities.json')
.then(function(cities){
if(cities) {
for (var city in cities) {
if (cities[city].code && cities[city].code == iata) {
return cities[city].name_translations.ru;
}
}
} else {
console.log('Error occured while trying to parse cities.json');
}
});
};
$(function(){
$('body').append('<div>'+ iataToCity('IEV') + '</div>');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body></body>
В чём проблема? Обычно распарсить json таким образом получается.
iataToCity- возвращаетPromise, для доступа к тому что он возвращает ты должен использоватьthen. А ты пытаешься напрямую вставить Promise в строчку$('body').append('<div>'+ iataToCity('IEV') + '</div>');– Grundy Dec 28 '16 at 14:31