1
resposta

[Bug] ReferenceError com o fetch

Alguma coisa mudou em relação ao Fecth? Pois ao executar o codigo ,no console só aparece isso:

"*Uncaught (in promise) ReferenceError: fetch is not defined"

Meu código está bem no começo:

let livros = [];
const endPointDaApi = 'https://guilhermeonrails.github.io/casadocodigo/livros.json';

getBuscarLivrosDaApi()

async function getBuscarLivrosDaApi(){
    const res = await fetch(endPointDaApi)
    livros = await res.json()
}

coloquei no index.html:

<script src="app/main.js"></script>

Tentei uma solução que vi na internet usando o : npm install node-fetch instalando o node-fetch parou de dar erro mas nao aparece nada no console ao executar a aplicação. *Tenho o node v16.20.2 instalado em minha máquina. Usei o vscode e o webstorn, mesmo problema.

1 resposta

Olá, Gabriela! Tudo bem?

Parece que você está tentando usar o fetch em um ambiente Node.js, onde ele não está disponível por padrão. O fetch é uma API de navegador, não uma API do Node.js.

Você não precisa do node-fetch, porque o fetch já está disponível nos navegadores modernos. O erro "fetch is not defined" no navegador, pode ser que você esteja tentando executar o seu código JavaScript antes que a página tenha terminado de carregar.

Use o defer, que garante que o seu código seja carregado por último. Seu código deve ficar assim:

<script src="app/main.js" defer></script>

Teste e me diga se funcionou!

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. 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