Junior
Welke methoden kent u voor het werken met asynchrone code?
sobes.tech AI
Antwoord van AI
- Callback-functies: Het doorgeven van een functie als argument aan een andere functie, die wordt aangeroepen nadat een asynchrone operatie is voltooid. Kan leiden tot "callback hell".
- Promises: Objecten die de uiteindelijke voltooiing (of mislukking) van een asynchrone operatie en de resulterende waarde vertegenwoordigen. Bieden een meer gestructureerd beheer van asynchroniteit.
// Voorbeeld van het gebruik van een promise fetch('/api/data') .then(response => response.json()) // Verwerking van succesvolle reactie .then(data => console.log(data)) // Verwerking van ontvangen gegevens .catch(error => console.error('Fout bij het ophalen van gegevens:', error)); // Foutafhandeling - Async/await: Syntactische suiker bovenop promises, waarmee je asynchrone code in een meer synchrone stijl kunt schrijven, waardoor het leesbaarder en gemakkelijker te debuggen is.
// Voorbeeld van het gebruik van async/await async function fetchData() { try { const response = await fetch('/api/data'); // Wachten op de promise if (!response.ok) { throw new Error(`HTTP-fout! status: ${response.status}`); } const data = await response.json(); // Wachten op de promise console.log(data); } catch (error) { console.error('Fout bij het ophalen van gegevens:', error); // Foutafhandeling } } fetchData(); - Generators: Kunnen worden gebruikt om te werken met asynchroniteit in combinatie met de
co-bibliotheek of handmatig, hoewelasync/awaiteen meer gangbare aanpak is.
Vergelijking van hoofdmethoden:
| Methode | Voordelen | Nadelen |
|---|---|---|
| Callbacks | Eenvoudig in het begin | "Callback hell", complexiteit in foutafhandeling |
| Promises | Betere leesbaarheid, foutafhandeling | Kan onoverzichtelijk worden in ketens van operaties |
| Async/await | Hoge leesbaarheid, gelijkenis met synchrone code | Vereist ondersteuning van de omgeving voor async/await |