let inputRub = document.getElementById('rub'),
inputUsd = document.getElementById('usd');
inputRub.addEventListener('input', () => {
function postData(url){
return new Promise(function(resolve,reject){
let request = new XMLHttpRequest();
request.open('GET', url);
request.setRequestHeader('Content-type', 'application/json; charset=utf-8');
request.addEventListener('readystatechange', function() {
if (request.readyState === 4 && request.status == 200) {
resolve(request.response);
} else {
reject();
}
});
request.send();
});
};
postData('/js/current.json')
.then((response)=>{
let data = JSON.parse(response);
console.log(data);
})
});
В resolve нужно передать ответ сервера, а уже потом в then можно будет этот ответ получить и обработать.
И вы используете .catch, а не .then. В catch падают ошибки, которые произошли до того, как будет then. Т.е. когда вы вызываете reject();