3
respostas

problema no fetch

mesmo fazendo o import do fetch desta maneira: "const fetch = (...args) => import('node-fetch').then(({default: fetch}) => fetch(...args));"

eu ainda estou tendo problema na linha em que eu realizo: " const res = await fetch(url); "

no meu terminal o erro: " Error: Not supported at fetch (/home/ecocaval/Desktop/Alura/Alura/javaScript/cursoNodeJs/parte 2/httpValidation.js:1:49) at Promise.all.urlsArr.map (/home/ecocaval/Desktop/Alura/Alura/javaScript/cursoNodeJs/parte 2/httpValidation.js:23:31) at Array.map () at checaStatus (/home/ecocaval/Desktop/Alura/Alura/javaScript/cursoNodeJs/parte 2/httpValidation.js:22:47) at validaURLs (/home/ecocaval/Desktop/Alura/Alura/javaScript/cursoNodeJs/parte 2/httpValidation.js:13:35) at processaTexto (/home/ecocaval/Desktop/Alura/Alura/javaScript/cursoNodeJs/parte 2/cli.js:10:57) "

alguma sugestão de solução?

3 respostas

Oi, Érico! Também estou tendo o mesmo problema e também não sei como resolver :/

A melhor coisa que eu consegui fazer foi realizar os imports da mesma maneira e não rodar no node, mas sim no navegador com a adição de "type='module'" no arquivo html em que eu puxo o js. Infelizmente por conta da diferença das versões atuais do node e a que foi utilizada nesse curso eu não consegui utilizar os mesmos códigos que estão upados no github. Acho que dá pra tentar usar o NVM e setar na sua máquina a versão de node que a professora usa.

Eu importei da maneira abaixo e deu certo, utilizando "type": module

import fetch from "node-fetch";

async function checaStatus(arrayURLs){ //Promise async await const arrayStatus = await Promise.all(arrayURLs.map(async url => { const res = await fetch(url); return res.status; })) return arrayStatus; }