Sobes.tech
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:

  • async yra raktinis žodis, naudojamas funkciją kaip asinchroninę deklaruoti. Tokia funkcija visada grąžina Promise, net jei viduje nėra aiškiai grąžinamas Promise.

  • await yra operatorius, naudojamas async funkcijų 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.