Intenté usar .then response y .catch pero nada funcionó. Recibo el siguiente error al ejecutar el script de prueba.
No quiero usar el método de búsqueda de nodos
const response = await fetch(url, { method: 'GET', headers: { 'Content-Type': 'application/json' }, }); const json = await response.json();¿Alguien puede decirme lo que me estoy perdiendo aquí?
(Use node --trace-warnings ... para mostrar dónde se creó la advertencia) (node:12784) UnhandledPromiseRejectionWarning: Rechazo de promesa no manejado. Este error se originó al lanzar dentro de una función asíncrona sin un bloque catch o al rechazar una promesa que no se manejó con .catch(). Para finalizar el proceso de nodo en caso de rechazo de promesa no controlada, use el indicador de CLI --unhandled-rejections=strict (id de rechazo: 2) (nodo: 12784) [DEP0018] Advertencia de desuso: los rechazos de promesa no controlada están en desuso. En el futuro, los rechazos de promesas que no se controlen terminarán el proceso de Node.js con un código de salida distinto de cero.
fetch no es un javascript sino una especificación del navegador. Consulte, por ejemplo , aquí para obtener detalles sobre fetch.
La única solución es usar un paquete de nodos como el nodo-fetch mencionado o usar el nodo predeterminado http lib . De los documentos:
var http = require('http'); //The url we want is: 'www.random.org/integers/?num=1&min=1&max=10&col=1&base=10&format=plain&rnd=new' var options = { host: 'www.random.org', path: '/integers/?num=1&min=1&max=10&col=1&base=10&format=plain&rnd=new' }; callback = function(response) { var str = ''; //another chunk of data has been received, so append it to `str` response.on('data', function (chunk) { str += chunk; }); //the whole response has been received, so we just print it out here response.on('end', function () { console.log(str); }); } http.request(options, callback).end();