Copiei código certinho, mas fica dizendo que o forEach não é uma função
Copiei código certinho, mas fica dizendo que o forEach não é uma função
Oi Gabriel, tudo certo?
Normalmente isso acontece pois a variável que você está tentando dar o forEach
não é um array.
Você pode mandar seu código aqui para eu conseguir te auxiliar melhor? Se for vários arquivos, pode subir no drive ou no github mesmo.
Abraços, bons estudos =)
https://drive.google.com/drive/folders/1nS94YS13SPOrbFv4drM3P2PjkWiEIF6f?usp=sharing
Ai está o link do projeto todo, mas o que foi alterado mesmo, foi no cliente-service.js, lista-Clientes.js, cadastra-Cliente-controller.js e lista-Cliente.html
Oi Gabriel, tudo certo?
Rodei o seu código aqui e consegui fazer o cadastro certinho do cliente e a listagem! Você poderia mostrar aonde está apontando erro? Em qual parte, ou linha do código exatamente?
Fico no aguardo, abraços =)
Gabriel, bom dia.
Conforme a Giovanna havia informado, o erro está ocorrendo pois a variável não é um array e o forEach é o método de Array. Assim como ocorreu com você, meu navegador também retornou que o forEach não era uma função.
Segue a solução:
Você pode converter a variável para um array utilizando "Array.from(variavel).forEach(..)"
No meu caso o problema aconteceu ao chamar o listaClientes() e utilizar o .then().
O código ficou assim:
.then(data => {
Array.from(data).forEach(elemento => {
tabela.appendChild(criaNovaLinha(elemento.nome, elemento.email))
})
Gabriel,
apesar da solução acima ter eliminado o erro no console, não resolveu meu problema para que os dados do cliente fossem carregados.
Ontem estava funcionando como na aula e hoje ocorreu este problema. A solução foi habilitar o json server novamente utilizando "json-server --watch db.json" no terminal.
Após habilitar o servidor eu voltei o código para o que foi usado na aula e funcionou novamente.
Fala Gabriel, provavelmente ocorreu porque você executou o json server no diretório errado no terminal.
Escrevi sobre minha solução aqui: