Asynchrone JavaScript en de event loop
Krijg inzicht in patronen voor asynchroon programmeren, callbacks, Promises, async/await en de event loop van Node.js.
Asynchrone JavaScript en de event loop is een gratis Bootcamp backendontwikkeling met Node.js-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Bootcamp backendontwikkeling met Node.js. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Bootcamp backendontwikkeling met Node.js bevat in totaal 4 lessen.
Wat is asynchrone code?
Met asynchrone code kan Node een trage taak starten — zoals het lezen van een bestand of een netwerkaanroep — en ondertussen andere code blijven uitvoeren in plaats van de hoofdthread te blokkeren.
Synchroon versus asynchroon uitgelegd
Denk aan een kok: synchroon betekent werkeloos wachten tot het water kookt; asynchroon betekent ondertussen groenten snijden. Node kookt als de asynchrone kok.
Het callbackpatroon
Callbacks zijn functies die u meegeeft om later te worden uitgevoerd — de klassieke manier om asynchroon werk af te handelen. Wanneer de taak klaar is, wordt uw callback aangeroepen met het resultaat of de fout.
Een eenvoudige callback in actie
setTimeout is een schoolvoorbeeld van een asynchrone bewerking: de functie wacht een ingestelde vertraging en voert daarna de callback uit die u hebt meegegeven.
function greet(name, callback) {
setTimeout(() => {
const message = `Hello, ${name}!`;
callback(message);
}, 1000); // Wait 1 second
}
function displayMessage(msg) {
console.log(msg);
}
greet("Coddy", displayMessage);
console.log("Waiting for greeting...");De uitdaging van callbackhel
Door veel afhankelijke callbacks in elkaar te nesten ontstaat Callback Hell — diep ingesprongen, moeilijk leesbare code waarin foutafhandeling en onderhoud een nachtmerrie worden.
Kennismaken met Promises
Een Promise vertegenwoordigt een waarde die nu, later of nooit beschikbaar komt. De Promise bevindt zich in een van drie toestanden: in afwachting, vervuld of afgewezen.
Promises gebruiken
Handel een Promise af met .then() bij succes en .catch() bij fouten — een overzichtelijkere keten dan geneste callbacks.
function fetchData(shouldSucceed) {
return new Promise((resolve, reject) => {
setTimeout(() => {
if (shouldSucceed) {
resolve("Data fetched successfully!");
} else {
reject("Failed to fetch data.");
}
}, 1000);
});
}
fetchData(true)
.then(data => console.log(data))
.catch(error => console.error(error));
fetchData(false)
.then(data => console.log(data))
.catch(error => console.error(error));Async/await voor duidelijkheid
async/await is syntaxis boven op Promises waardoor asynchrone code leest als synchrone code. await pauzeert binnen een async-functie totdat de Promise is afgehandeld.
Async/await in de praktijk
Bekijk hoe async/await het vorige voorbeeld vereenvoudigt — en hoe een gewone try...catch fouten direct op die plek afhandelt.
function delayedMessage(msg, delay) {
return new Promise(resolve => {
setTimeout(() => resolve(msg), delay);
});
}
async function processMessages() {
try {
console.log("Starting process...");
const msg1 = await delayedMessage("First message!", 1000);
console.log(msg1);
const msg2 = await delayedMessage("Second message!", 500);
console.log(msg2);
console.log("Process finished.");
} catch (error) {
console.error("An error occurred:", error);
}
}
processMessages();De gebeurtenislus van Node.js
De Event Loop is de motor van Node: wanneer de aanroepstack leeg is, haalt deze wachtrijgestuurde callbacks op en voert ze uit — zo wordt niet-blokkerende I/O op één thread mogelijk.
Controle van asynchrone concepten
Welke van de volgende opties beschrijft het belangrijkste voordeel van asynchroon programmeren in Node.js het best?
Samenvatting: async en de gebeurtenislus
Asynchroon werk vormt de basis van Nodes bereik: callbacks begonnen ermee, Promises structureerden het, async/await maakten het overzichtelijk en de Event Loop stuurt alles aan.
Leer JavaScript met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 22
- Lessen
- 92
Veelgestelde vragen
Is de les “Asynchrone JavaScript en de event loop” gratis?
Ja — de volledige tekst van “Asynchrone JavaScript en de event loop” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Bootcamp backendontwikkeling met Node.js wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Bootcamp backendontwikkeling met Node.js bevat in totaal 4 lessen.
Wat leer ik in “Asynchrone JavaScript en de event loop”?
Krijg inzicht in patronen voor asynchroon programmeren, callbacks, Promises, async/await en de event loop van Node.js. Je oefent met Bootcamp backendontwikkeling met Node.js door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Bootcamp backendontwikkeling met Node.js te beginnen?
Ervaring vooraf is niet nodig. Bootcamp backendontwikkeling met Node.js op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.
Hoe lang duurt de les “Asynchrone JavaScript en de event loop”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Bootcamp backendontwikkeling met Node.js?
Ja. Elke les over Bootcamp backendontwikkeling met Node.js bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Inleiding tot Node.js en NPM
- Het modulesysteem van Node.js uitgelegd
- Asynchrone JavaScript en de event loop
- Werken met het bestandssysteem en streams