Node.js: así funciona la nuevo API Fetch

August 05, 2022

Tags: Tecnologías

nodejs

 

Node.js es un intérprete de Javascript que funciona en el lado del servidor y cambia por completo la forma en que debería funcionar. Utiliza un modelo de operaciones sin bloqueo y basado en eventos, lo que lo hace liviano y eficiente. A pesar de estar catalogado como un marco, Node.js es un "Entorno de tiempo de ejecución de Java". Un Java Runtime Environment (JRE) es un software diseñado para ejecutar otro software.

 

Los usuarios de Node.js pueden preocuparse por el bloqueo del proceso, ya que no existe. Casi ninguna función en Node.js realiza E/S directamente, por lo que el proceso nunca se bloquea. Por lo tanto, es muy propicio para desarrollar sistemas escalables en Node.js.

 

Llega Fetch: el nuevo API de Node.Js

 

La API Fetch es una de las más esperadas por los usuarios de Node.Js. El 1 de febrero de 2022, el equipo central de Node.js fusionó una solicitud de extracción y agregó la API Fetch a Node. A pesar de que esta API lleva tiempo siendo utilizada, apenas está integrada a Node.Js, desde el 2015 es la sucesora de XMLHttpRequest y se ha convertido en la más usada para hacer llamados asíncronos en aplicaciones web. 

 

Cómo usar Fetch en Node.Js

 

La API Fetch es una función de alto nivel y toma una URL para producir una promesa que se resuelve en la respuesta, de la siguiente manera: 

 

fetch("http://example.com/api/endpoint")
  .then((response) => {
    // Do something with response
  })
  .catch(function (err) {
    console.log("Unable to fetch -", err);
  });

 

También puedes cambiar la forma en que se lleva a cabo el proceso de obtención agregando un objeto opcional después de la URL.

 

Instalación

 

npm install node-fetch

 

Configurando los módulos

 

Módulo ES

 

import fetch from 'node-fetch';

 

CommonJS

 

npm install node-fetch@2

 

Acceso global

 

Para usar Fetch sin importarlo, puedes usar:

 

// fetch-polyfill.js
import fetch, {
  Blob,
  blobFrom,
  blobFromSync,
  File,
  fileFrom,
  fileFromSync,
  FormData,
  Headers,
  Request,
  Response,
} from 'node-fetch'

if (!globalThis.fetch) {
  globalThis.fetch = fetch
  globalThis.Headers = Headers
  globalThis.Request = Request
  globalThis.Response = Response
}

// index.js
import './fetch-polyfill'

// ...

 

Beneficios de usar la API Fetch en Node.Js

 

Se elimina el paquete de búsqueda adicional

 

Al tener Fetch incorporado en Node.js significa el fin de paquetes como node-fetch, got, cross-fetch y muchos otros que fueron creados para el mismo uso. El desarrollador no tiene que instalar npm antes de realizar operaciones de red en Node. La API Fetch nativa hará que la obtención de HTTP en entornos de nodo se sienta mucho más fluida y natural.

 

Multiplataforma

 

Si ya un desarrollador tiene experiencia utilizando la API Fetch, no tendrá problemas en utilizar la integración con Node.js. En cambio, trabajará en un ambiente simple e intuitivo, al contrario de usar paquetes externos para lograr la misma funcionalidad.

 

Rápida implementación

 

Fetch se basa en Undici, un cliente HTTP conocido por su rapidez, confiabilidad y compatibilidad con todas las especificaciones de Node.js. Esto anticipa un rendimiento mejorado de la API Fetch.

 

En LogRocket comentan “En general, es emocionante que Fetch finalmente llegue al núcleo de Node.js, ya que esta ha sido una solicitud de mucho tiempo de la comunidad de desarrolladores. Puede tomar un tiempo (alrededor de uno o dos años) para que Fetch API sea completamente estable en Node.js, ya que aún queda mucho por hacer para que cumpla con los estándares. También se esperan muchas actualizaciones interesantes en un futuro próximo, una de las cuales incluye la adición de compatibilidad con HTTP/2 a Undici y, finalmente, la propia API Fetch”.

 

Te recomendamos en video


 

Yes, I liked thiscontent.