Welke manieren van werken met asynchrone code ken je?
sobes.tech AI
Antwoord van AI
Callbacks, Promises, async/await.
Callbacks: Functies die als argument worden doorgegeven aan andere functies, die worden aangeroepen nadat een asynchrone operatie is voltooid.
Promises: Objecten die een handigere manier bieden om met asynchroniciteit om te gaan in vergelijking met callbacks. Ze hebben de staten pending, fulfilled en rejected.
// Voorbeeld Promise
function asyncOperation() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Operatie succesvol voltooid!');
}, 1000);
});
}
asyncOperation()
.then(result => console.log(result))
.catch(error => console.error(error));
async/await: Syntactisch suiker boven Promises, waardoor asynchrone code meer op synchrone code lijkt en de leesbaarheid wordt verbeterd.
// Voorbeeld async/await
async function performAsyncOperation() {
try {
const result = await asyncOperation();
console.log(result);
} catch (error) {
console.error(error);
}
}
performAsyncOperation();
Vergelijking van methoden:
| Methode | Leesbaarheid / Onderhoud | Foutafhandeling | Stroombeheer |
|---|---|---|---|
| Callbacks | Minder leesbaar (Callback Hell) | Moeilijk | Moeilijk |
| Promises | Verbeterd | Handig (.catch) | Handig (.then, .catch) |
| async/await | Beste | Handig (try...catch) | Handig (await) |
De meest aanbevolen methode in moderne Node.js-toepassingen is het gebruik van async/await vanwege de leesbaarheid en het gemak. Promises blijven een belangrijk hulpmiddel, vooral op een lager niveau van implementatie. Callbacks worden gebruikt in verouderde code of voor low-level operaties in de kern van Node.js.