Sobes.tech
Junior

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.