Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro inesperado ao exibir as negociações do servidor

Todo o código funcionou apenas até a parte de adicionar a negociação no indexedDB após clicar no botão Incluir. Ao colocar

ConnectionFactory
    .getConnection()
    .then(connection => {

        new NegociacaoDao(connection)
            .listaTodos()
            .then(negociacoes => {

                negociacoes.forEach(negociacao => {
                    this._listaNegociacoes.adiciona(negociacao);
                });
            });
      });

aparece o seguinte erro:

Uncaught (in promise) TypeError: negociacoes.forEach is not a function
    at NegociacaoController.js:27

E sim, o código todo funciona, testei cada uma das funções e ações individualmente sem esse trecho de código, sendo que após escrever e reescrever várias vezes este trecho, eu apenas copiei e colei da página da atividade, e sempre o mesmo erro aparece.

3 respostas
solução!

Fala ai Henna, tudo bem? Tente logar o valor de negociacoes para ver o que está chegando.

Pode ser que o mesmo não seja um array, sendo assim, não vai possuir a função forEach.

Espero ter ajudado.

Eu fico feliz e com vergonha por descobrir o erro, e a pista foi justamente exibir negociações.

cursor.onsuccess = e => {
    [...]
};
cursor.onsuccess = e => resolve('Negociacao incluída com sucesso.');

Uma sobreposição de onsuccess logo em seguida. A partir de hj não negligencio mais a exibição do dado antes kkkkk

Boa Hennan, fico feliz que tenha resolvido o problema.

Sempre que precisar não deixe de criar suas dúvidas.

E relaxa, não fique com vergonha, muito pelo contrário, fico feliz por ter resolvido seu problema.

Erros assim são muito comum kkk acontecem quase sempre, mas, graças a Deus temos o console.log milagroso kkkk (fica a dica).

Abraços e 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