Sobes.tech
Junior — Middle

Ar galite paaiškinti asinchroninio programavimo koncepciją naudojant Async ir Await operacijas?

sobes.tech AI

Atsakymas iš AI

„Node.js“ asynchrone programavimas leidžia vykdyti įvesties/išvesties operacijas (pavyzdžiui, failų skaitymą, duomenų bazės užklausas, tinklo užklausas) nesustabdant pagrindinio vykdymo srauto. Tai pasiekiama naudojant raktinius žodžius async ir await.

  • async prieš funkciją reiškia, kad funkcija grąžina Promise ir joje galima naudoti await.
  • await sustabdo funkcijos vykdymą, kol Promise nebus išspręsta arba atmesta, leidžiant rašyti asinchroninį kodą sinchroniniu stiliumi.

Pavyzdys:

const fetch = require('node-fetch');

async function getData() {
  try {
    const response = await fetch('https://api.example.com/data');
    const data = await response.json();
    console.log(data);
  } catch (error) {
    console.error('Klaida:', error);
  }
}

getData();

Šiame pavyzdyje await priverčia funkciją laukti fetch atsakymo, neblokiruojant viso Node.js srauto. Tai supaprastina darbą su asinchroniniu kodu ir pagerina skaitomumą, palyginti su .then() grandinėmis.