3
respostas

erro NegociacaoService.cadastra não é um construtor a constructor

o código funciona ok com o factory, mas qdo adiciono o método cadastra recebo o erro: "Uncaught TypeError: NegociacaoService.cadastra is not a constructor"

Meu NegociacaoService.js está assim:

[....

cadastra(negociacao) {

     return ConnectionFactory
        .getConnection()
        .then(conexao => new NegociacaoDao(conexao))
        .then(dao => dao.adiciona(negociacao))
        .then(() => 'Negociação cadastrada com sucesso')
        .catch(erro => {
            throw new Error("Não foi possível adicionar a negociação")
        });
}

...]

Meu NegociaçãoController:

[...

    let negociacao = this._criaNegociacao();

    new NegociacaoService
        .cadastra(negociacao)
        .then(mensagem => {
            this._listaNegociacoes.adiciona(negociacao);
            this._mensagem.texto = mensagem; 
            this._limpaFormulario();  
        }).catch(erro => this._mensagem.texto = erro);

...]

3 respostas

Oi Paulo tudo bem?

Poderia colocar a pasta do seu projeto no github, por gentileza, para podermos analisar.

Olá André!

Eu fiquei procurando o erro um tempão antes de colocar aqui para não passar vergonha... mas parece que é regra, se vc passou 5h procurando o erro antes de postar no forum, vai conseguir encontrá-lo 5min depois.

faltou o () no NegociacaoService...

Um problema que senti nessa aula foi a função obterNegociações que encapsula as outras. No fim do curso de js avançado II, as chamadas estão soltas e nesse curso já começa com elas encapsuladas. Sei que no final de cada lição a gente pode baixar o código, mas como gosto de achar e consertar os meus próprios erros, perdi uns minutos com isso.

É normal as vezes não achar a solução logo de cara. Principalmente quando estamos aprendendo uma nova tecnologia. Comigo isso acontece também.

Que bom que achou a solução. Nessa nossa profissão paciência e perseverança são essencial!

Bons estudos!!!

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