Я искал StackOverflow и читал разделы о получении значений из возвращенных обещаний, но по некоторым причинам эти примеры не работают для меня.
Мой код:
const getThatZip = (zip) => new Promise((resolve, reject) => {
const query = `http://api.zippopotam.us/us/${zip}`;
const request = new XMLHttpRequest();
request.addEventListener('readystatechange', (e) => {
if (e.target.readyState === 4 && e.target.status === 200) {
const data = JSON.parse(e.target.responseText);
//console.log(data.places[0]['place name'] + ', ' + data.places[0]['state abbreviation']);
resolve(data.places[0]['place name'] + ', ' + data.places[0]['state abbreviation'])
} else if (e.target.readyState === 4) {
reject('An error has occurred')
}
});
request.open('GET', query);
request.send();
});
const handleZipBtn = () => {
const zipVal = zipLine.value;
const theAnswer = getThatZip(zipVal).then((result) => {
return result
});
console.log(theAnswer);
};
Консоль.log внутри обещания дает хорошие данные.Но вызов getThatZip только дает мне обещание.Может кто-нибудь указать на мою ошибку?