Eu entendi a necessidade de utilizarmos a Promise e como tratá-la, mas não entendi alguns trechos, o que dada implementação faz por trás.
const promise = new Promise((resolve, reject) => {
const http = new XMLHttpRequest();
http.open('GET', 'http://localhost:3000/profile');
http.onload = () => {
if (http.status >= 400) {
reject(JSON.parse(http.response))
} else {
resolve(JSON.parse(http.response))
}
}
http.send();
});
Exemplo: nesse caso onde temos o IF e ELSE, o que o reject vai fazer com a resposta da requisição e o que o resolve também irá fazer com isso?