Na minha implementação para importar as negociações fiz uma pequena alteração para adicionar as negociações no array de negociações:
xhr.onreadystatechange = () => {
if(xhr.readyState == 4) {
if(xhr.status == 200) {
JSON.parse(xhr.responseText).map( obj =>
this._listaNegociacoes.adiciona(new Negociacao(new Date(obj.data), obj.quantidade, obj.valor)));
this._mensagemView.update('Negociacoes importadas com sucesso.');
} else {
console.log(xhr.responseText);
this._mensagemView.update('Negociacoes não foram importadas.');
}
}
}
Utilizei diretamente no .map( ) para criar uma nova negociação e já adicionar a lista de negociações.
Não seria uma melhor forma? Por deixar o código mais enxuto e ter o mesmo resultado? Ou estou perdendo em performance ou alguma outra coisa que não consegui ver...