Olá a todos!
Eu tenho uma forma muito particular de estudo que é: vejo do que se trata o tema, tento realizar a implementação da minha forma, antes de ver a aula e depois assisto a aula para tirar duvidas e conferir o meu resultado.
Dessa forma eu fiz a implementação da requisição Ajax de uma forma diferente, sem utilizar o onreadystatechange
. Eu sei que pode existir diversas formas de chegar ao mesmo resultado, mas como eu não tenho muito experiência com essas requisições sem usar um framework pra me auxiliar, eu gostaria de saber se da forma abaixa pode ser aplicada, ou se tem algum problema:
carregarNegociacoesDaSemana() {
return new Promise((resolve, reject) => {
let xhr = new XMLHttpRequest();
xhr.open('GET', 'negociacoes/semana');
xhr.addEventListener('loadend', () => {
if (xhr.status == 200) {
resolve(JSON.parse(xhr.responseText)
.map(obj =>
new Negociacao(
new Date(obj.data),
obj.quantidade,
obj.valor
)
));
} else {
console.log(xhr.responseText);
reject("Não foi possível obter as negociações do servidor.");
}
});
xhr.send();
});
}
Ao invés de utilizar o onreadystatechange
eu adicionei um eventListener no evento loadend
. Funcionou, mas tem alguma parte fundamental que eu estou perdendo com essa implementação, ou mesmo ganhando?