Prezados bom dia.
Estou fazendo ao prova de conceito do livro do Flávio Almeida - Cangaceiro JavaScript e o capítulo 12 é dedicado a integração com API. Primeiramente fiz o código na CONTROLLER que funcionou perfeitamente segue abaixo:
Código Controller
obterNegociacoesDaSemana() {
const xhr = new XMLHttpRequest();
xhr.open('GET', 'negociacoes/semana');
xhr.onreadystatechange = () => {
if(xhr.readyState == 4) {
if(xhr.status == 200) {
const negociacoes = JSON
.parse(xhr.responseText)
.map(objeto => new Negociacao(new Date(objeto.data), objeto.quantidade, objeto.valor));
cb(null, negociacoes);
}else{
console.log(xhr.responseText);
cb('Não foi possível obter as negociações da semana!', null)
}
}
};
xhr.send();
}
Dando sequência o livro propões de separar as responsabilidades e pede para criar um arquivo apenas para este método e usa o termo cb como callback.
Vejam o código
obterNegociacoesDaSemana() {
const xhr = new XMLHttpRequest();
xhr.open('GET', 'negociacoes/semana');
xhr.onreadystatechange = () => {
if(xhr.readyState == 4) {
if(xhr.status == 200) {
const negociacoes = JSON
.parse(xhr.responseText)
.map(objeto => new Negociacao(new Date(objeto.data), objeto.quantidade, objeto.valor));
cb(null, negociacoes);
}else{
console.log(xhr.responseText);
cb('Não foi possível obter as negociações da semana!', null)
}
}
};
xhr.send();
}
Em desenvolvimento, não há erros, (fiz a alterações na controller para trabalhar com este código) mas qdo executo ele não reconhece o termo cb.
Por favor se alguém puder me dar uma ajuda agradeço muito!
Eduardo Agostinho