Nodejs 18 i 19 Nowe funkcje

Feb 19 2023
witam wszystkich, w tym artykule omówimy niektóre funkcje węzła js w wersji 18 i 19. FindLast i FindLastIndex Te metody tablicowe są podobne do find i findIndex, funkcjonalnie identyczne z find i findIndex.

cześć wszystkim, w tym artykule porozmawiamy o niektórych funkcjach węzła js w wersji 18 i wersji 19.

FindLast & FindLastIndex

Te metody tablicowe są podobne do find i findIndex , Funkcjonalnie identyczne z find i findIndex. Ale jest pewna różnica, te metody szukają elementu w tablicy od końca.

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

Myślę, że ta flaga jest bardzo ważna. nie potrzebujemy już nodemona, jeśli możemy użyć tej flagi. Uruchomienie aplikacji Node.js w trybie oglądania automatycznie uruchamia ponownie proces po zmianie importowanego pliku.

node --watch app.js

Przed wersją Node.js 18 nie można było używać Fetch API w Node.js do żądania danych z API. Trzeba było zainstalować node-fetch, axios lub inną bibliotekę innej firmy. Z node js v18 nie potrzebujemy żadnych pakietów innych firm do pobierania

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();

Nowy sposób „importowania” modułów, który wykorzystuje przedrostek „węzeł:”, dzięki czemu od razu widać, że moduły pochodzą z rdzenia Node.js

Wbudowany moduł testera

Wraz z wydaniem Node.js v18 program uruchamiający testy jest teraz zawarty w Node.js i można uzyskać do niego dostęp za pomocą:

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

Silnik V8 zaktualizowany do wersji 10.1

Node.js działa z silnikiem V8 z przeglądarki open-source Chromium. Ten silnik został zaktualizowany do wersji 10.1, która jest częścią ostatniej aktualizacji Chromium 101.

Limity czasu HTTP

Zmieniły się limity czasu serwera http:

  • headersTimeout(czas dozwolony na przeanalizowanie nagłówka żądania HTTP) jest ustawiony na 60000 milisekund (60 sekund).
  • requestTimeout(limit czasu używany dla żądania HTTP) jest domyślnie ustawiony na 300000 milisekund (5 minut).

Mój kanał na Youtube.

Dobra robota wszystkim.