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?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software