Vertel me over de constructie async/await in JavaScript.
sobes.tech AI
Antwoord van AI
async/await — syntactische suiker over promises, ontworpen voor het eenvoudiger schrijven van asynchrone code die er synchrone uitziet.
Een met async gemarkeerde functie retourneert altijd een promise. Binnen een async functie kan je het sleutelwoord await gebruiken.
De operator await wordt gebruikt vóór het aanroepen van een promise. Het onderbreekt de uitvoering van de async functie totdat de promise is opgelost (resolved) of afgewezen (rejected). Het resultaat van de promise (succes of fout) wordt teruggegeven door await.
Als de promise waarop await wordt toegepast wordt afgewezen, veroorzaakt dit een uitzondering die kan worden opgevangen met een try...catch blok.
// Voorbeeld van gebruik van async/await
async function fetchData() {
try {
// Wachten op de voltooiing van een asynchrone operatie (bijvoorbeeld API-aanvraag)
const response = await fetch('https://api.example.com/data');
// Response parseren naar JSON
const data = await response.json();
// Gegevens tonen
console.log(data);
} catch (error) {
// Mogelijke fout opvangen
console.error('Fout bij het ophalen van gegevens:', error);
}
}
// Aanroepen van de async functie
fetchData();
// Async functie die een promise teruggeeft
async function getValue() {
return 10; // Dit wordt automatisch ingepakt in Promise.resolve(10)
}
getValue().then(value => console.log(value)); // Zal 10 tonen
Voordelen van async/await:
- Leesbaarheid van code: Asynchrone code lijkt meer op synchrone code
- Foutafhandeling: Makkelijker te gebruiken met standaard
try...catchblokken - Minder genest: Vermijdt "callback hel" of lange ketens
.then().
Het is belangrijk om te onthouden dat await alleen binnen async functies gebruikt kan worden.