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.
asyncprieš funkciją reiškia, kad funkcija grąžina Promise ir joje galima naudotiawait.awaitsustabdo 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.