Sobes.tech
Junior

Mis vahe on märksõnadel async ja await?

sobes.tech AI

Vastus AI-lt

Peamine erinevus async ja await vahel JavaScriptis (ja teistes keeltes, mis toetavad asünkroonsust) seisneb nende eesmärgis ja kasutamises:

  • async on märksõna, mida kasutatakse funktsiooni asünkroonseks kuulutamiseks. Selline funktsioon tagastab alati Promise, isegi kui sees ei ole otseselt Promise'i tagastamist.

  • await on operaator, mida kasutatakse async funktsioonide sees, et oodata Promise'i tulemust. See peatab funktsiooni täitmise kuni Promise täidetakse ja tagastab selle tulemuse.

Näide:

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

Siin deklarib async funktsiooni fetchData asünkroonseks, ja await võimaldab kirjutada asünkroonset koodi sünkroonilises stiilis, oodates lubaduste täitmist.