1
resposta

Problema com 'cb' Callback - Livro Cangaceiro JavaScript Capítulo 12

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

1 resposta

Fala Eduardo! Tudo bem? Meu caro, cb realmente não é um termo do JS... não li o livro, mas talvez ele tenha lhe dito para chamar uma função callback (que deveria ser declarada em algum outro lugar). Será que ele não declarou essa função antes?