Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] As minhas alterações não aparecem no console

Referente ao curso JavaScript: de padrões a uma abordagem funcional, no capítulo Organização inicial do projeto e primeira atividade e atividade Consumindo endpoint REST com a API Fetch.

Eu escrevi o código exatamente igual como o professor escreveu na aula, conforme mostrado abaixo.

document.querySelector('#myButton').onclick = () => 
                        fetch('http://localhost:3000/notas')
                        .then(res => res.json())
                        .then(notas => console.log(notas))
                        .catch(console.log)

Mas no console ele apresenta uma mensagem de erro ( IMAGEM - 01 ), ao invés de mostrar no conseole, o retorno do código com um array com as notas fiscais conforme mostrado na tela do professor ( IMAGEM - 02 )

IMAGEM - 01

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

IMAGEM - 02

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

O que pode estar acontecendo e como posso corrigir ?

1 resposta
solução!

Oi, Allan. Como você está?

Desculpe pela demora em te trazer uma resposta. Você continua passando por esse mesmo erro?

Uma possível causa para isso é que o servidor não está respondendo corretamente ou não está retornando um JSON válido.

Você pode verificar se o servidor está funcionando corretamente acessando o endereço (http://localhost:3000/notas) diretamente no navegador. Se estiver tudo certo, você deve ver uma resposta em formato JSON. Se não for esse o caso, talvez seja necessário verificar se o servidor está rodando corretamente.

Outra possibilidade é que o servidor esteja retornando um erro HTTP (como 404 ou 500), mas ainda assim retornando um corpo de resposta que não é um JSON válido. A API Fetch considera qualquer resposta do servidor (mesmo erros HTTP) como uma resposta válida e tenta processá-la. Se o corpo da resposta não for um JSON válido, você verá o erro Unexpected end of JSON input.

Para lidar com isso, você pode modificar seu código para verificar o status da resposta com uma condicional que verifique se o HTTP está ok e, se não estiver, lançar uma mensagem com o status da resposta, antes de tentar interpretá-la como JSON.

Essas são algumas possibilidades. Porém, erros de rede e timeout também podem ocorrer.

Espero que dê tudo certo por aí.

Abraços!

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