Novos recursos do Nodejs 18 e 19

Feb 19 2023
Olá a todos , neste artigo falaremos sobre alguns recursos do node js versão 18 e versão 19. FindLast & FindLastIndex Esses métodos de array são semelhantes a find e findIndex , funcionalmente idênticos a find e findIndex.

ola pessoal, neste artigo falaremos sobre algumas funcionalidades do node js versão 18 e versão 19.

FindLast & FindLastIndex

Esses métodos de matriz são semelhantes a find e findIndex , funcionalmente idênticos a find e findIndex. Mas há alguma diferença, esses métodos procuram itens na matriz a partir do 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

Acho essa bandeira muito importante. não precisamos mais do nodemon se pudermos usar esse sinalizador. A execução de um aplicativo Node.js no modo de exibição reinicia automaticamente o processo quando um arquivo importado é alterado.

node --watch app.js

Antes do Node.js v18, você não podia usar a API Fetch no Node.js para solicitar dados de uma API. Você tinha que instalar node-fetch ,axios ou outra biblioteca de terceiros. Com o node js v18, não precisamos de nenhum pacote de terceiros 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();

Uma nova maneira de 'importar' módulos que utiliza um prefixo 'node:', o que torna imediatamente evidente que os módulos são do núcleo Node.js

Módulo executor de teste embutido

Com o lançamento do Node.js v18, um executor de teste agora está incluído no Node.js e pode ser acessado com:

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 atualizado para v10.1

O Node.js é executado com o mecanismo V8 do navegador de código aberto Chromium. Este mecanismo foi atualizado para a versão 10.1, que faz parte da atualização recente do Chromium 101.

Tempo limite de HTTP

Os tempos limite do http.server foram alterados:

  • headersTimeout(o tempo permitido para um cabeçalho de solicitação HTTP ser analisado) é definido como 60.000 milissegundos (60 segundos).
  • requestTimeout(o tempo limite usado para uma solicitação HTTP) é definido como 300.000 milissegundos (5 minutos) por padrão.

Meu Canal do Youtube.

Bom trabalho a todos.