Junior
Kuo skiriasi async ir await raktažodžiai?
sobes.tech AI
Atsakymas iš AI
Pagrindinis skirtumas tarp async ir await JavaScript (ir kitose kalbose, turinčiose asinchronijos palaikymą) yra jų paskirtis ir naudojimas:
-
asyncyra raktinis žodis, naudojamas funkciją kaip asinchroninę deklaruoti. Tokia funkcija visada grąžina Promise, net jei viduje nėra aiškiai grąžinamas Promise. -
awaityra operatorius, naudojamasasyncfunkcijų viduje, kad lauktų Promise rezultato. Jis sustabdo funkcijos vykdymą, kol Promise nebus išspręsta, ir grąžina jos rezultatą.
Pavyzdys:
async function fetchData() {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
return data;
}
fetchData().then(data => console.log(data));
Čia async deklaruoja fetchData funkciją kaip asinchroninę, o await leidžia rašyti asinchroninį kodą sinchroniniu stiliumi, laukiant pažadų užbaigimo.