Junior
Räägi mulle JavaScripti async/await konstruktsioonist.
sobes.tech AI
Vastus AI-lt
async/await – see on süntaksisuhkur, mis on mõeldud lihtsamaks asünkroonse koodi kirjutamiseks, mis näeb välja nagu sünkrone.
Funktsioon, millele on märgitud sõnaga async, tagastab alati promise'i. async-funktsiooni sees saab kasutada sõna await.
Operaator await kasutatakse promise'i väljakutse ees. See peatab async-funktsiooni täitmise kuni promise täidetakse (resolved) või lükatakse tagasi (rejected). Promise'i täitmise tulemus (edu või viga) tagastatakse await-operaatoriga.
Kui promise, mille ees on await, lükatakse tagasi, põhjustab see erandi, mida saab püüda try...catch ploki abil.
// Näide async/await kasutamisest
async function fetchData() {
try {
// Ootame asünkroonse operatsiooni (näiteks API päringu) täitmist
const response = await fetch('https://api.example.com/data');
// Vasta JSON-ks parsimine
const data = await response.json();
// Saadud andmete väljastamine
console.log(data);
} catch (error) {
// Võimaliku vea püüdmine
console.error('Viga andmete saamisel:', error);
}
}
// Kutsume välja async funktsiooni
fetchData();
// Async funktsioon, mis tagastab promise'i
async function getValue() {
return 10; // See on automaatselt pakitud Promise.resolve(10)
}
getValue().then(value => console.log(value)); // Näitab 10
async/await eelised:
- Koodilugemise lihtsus: Asünkroonne kood näeb välja sarnasem kui sünkrone.
- Vigade käsitlemine: On mugavam kasutada standardseid
try...catchplokke. - Vähem sügavust: Vältida "kõnekaevu" või pikki
.then()ahelasid.
Pea meeles, et await saab kasutada ainult async funktsioonide sees.