----> no NegociacaoController:
importaNegociacoes() {
let service = new NegociacaoService();
service.obterNegociacoesDaSemana(this);
}
---->no negociacao service:
class NegociacaoService {
//aqui está a dúvida:
//---------em vez de receber a CB, receberia o this do controller !!!!!!--------
// !!!!!!!!
obterNegociacoesDaSemana(thisAnterior) {
let xhr = new XMLHttpRequest();
xhr.open('GET', 'negociacoes/semana');
xhr.onreadystatechange = () => {
if(xhr.readyState == 4) {
if(xhr.status == 200) {
JSON.parse(xhr.responseText)
.map(objeto => new Negociacao(new Date(objeto.data), objeto.quantidade, objeto.valor)
.forEach(negociacao => thisAnterior._listaNegociacoes.adiciona(negociacao));
thisAnterior._mensagem.texto = 'Negociações importadas com sucesso.';
} else {
console.log(xhr.responseText);
thisAnterior._mensagem.texto = 'Não foi possível obter as negociações.';
}
}
};
xhr.send();
}
}
Pessoal, não daria para resolver esse problema apenas passando o this do controller para NegociacaoService, sem precisar usar callback ?