Nuevas características de Nodejs 18 y 19

Feb 19 2023
hola a todos, en este artículo hablaremos sobre algunas características de node js versión 18 y versión 19. FindLast y FindLastIndex Estos métodos de matriz son similares a find y findIndex, funcionalmente idénticos a find y findIndex.

hola a todos, en este artículo hablaremos sobre algunas características de node js versión 18 y versión 19.

BuscarÚltimo y BuscarÚltimoÍndice

Estos métodos de matriz son similares a find y findIndex, funcionalmente idénticos a find y findIndex. Pero hay alguna diferencia, estos métodos buscan elementos en la matriz desde el final.

const array = [{ value: 1 }, { value: 2 }, { value: 3 }, { value: 4 }];

array.find(n => n.value % 2 === 1); // { value: 1 }
array.findIndex(n => n.value % 2 === 1); // 0

// find
array.findLast(n => n.value % 2 === 1); // { value: 3 }

// findIndex
array.findLastIndex(n => n.value % 2 === 1); // 2
array.findLastIndex(n => n.value === 42); // -1

Creo que esta bandera es muy importante. ya no necesitamos nodemon si podemos usar esta bandera. Ejecutar una aplicación Node.js en modo reloj reinicia automáticamente el proceso cuando cambia un archivo importado.

node --watch app.js

Antes de Node.js v18, no podía usar Fetch API en Node.js para solicitar datos de una API. Tenía que instalar node-fetch, axios u otra biblioteca de terceros. Con el nodo js v18, no necesitamos ningún paquete de terceros para buscar

async function fetchData() {
  const response = await fetch(
    "https://random-data-api.com/api/name/random_name"
  );
  if (response.ok) {
    const data = await response.json();
    console.log(data);
  }
}

fetchData();

Una nueva forma de 'importar' módulos que aprovecha un prefijo 'nodo:', lo que hace evidente de inmediato que los módulos son del núcleo de Node.js

Módulo de ejecutor de pruebas incorporado

Con el lanzamiento de Node.js v18, ahora se incluye un ejecutor de pruebas en Node.js y se puede acceder con:

const test = require('node:test')
const assert=require('node:assert')
test("My Test", async (t) => {
    await t.test("It should equal two numbers", () => {
      assert.equal(3, 4);
    });
    await t.test("It should not equal two numbers", () => {
      assert.notEqual(2, 1);
    });
  });

//node --watch yourfile.js

Motor V8 actualizado a v10.1

Node.js se ejecuta con el motor V8 del navegador de código abierto Chromium. Este motor se ha actualizado a la versión 10.1, que forma parte de la actualización reciente de Chromium 101.

Tiempos de espera de HTTP

Los tiempos de espera de http.server han cambiado:

  • headersTimeout(el tiempo permitido para que se analice un encabezado de solicitud HTTP) se establece en 60000 milisegundos (60 segundos).
  • requestTimeout(el tiempo de espera utilizado para una solicitud HTTP) se establece en 300000 milisegundos (5 minutos) de forma predeterminada.

Mi canal de Youtube.

Buen trabajo a todos.