Sobes.tech
Junior

Aké spôsoby práce s asynchrónnym kódom poznáš?

sobes.tech AI

Odpoveď od AI

Callbacks, Promises, async/await.

Callbacks: Funkcie, ktoré sa odovzdávajú ako argumenty iným funkciám a volajú sa po dokončení asynchrónnej operácie.

Promises: Objekt, ktorý ponúka pohodlnejší spôsob správy asynchrónnosti v porovnaní s callbackmi. Majú stavy pending, fulfilled a rejected.

// Príklad Promise
function asyncOperation() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve('Operácia úspešne dokončená!');
    }, 1000);
  });
}

asyncOperation()
  .then(result => console.log(result))
  .catch(error => console.error(error));

async/await: Syntaktický cukor nad Promises, ktorý robí asynchrónny kód viac podobný synchronnému a zlepšuje jeho čitateľnosť.

// Príklad async/await
async function performAsyncOperation() {
  try {
    const result = await asyncOperation();
    console.log(result);
  } catch (error) {
    console.error(error);
  }
}

performAsyncOperation();

Porovnanie metód:

Metóda Čitateľnosť / Údržba Spracovanie chýb Riadenie toku
Callbacks Menej čitateľné (Callback Hell) Ťažké Ťažké
Promises Vylepšené Pohodlné (.catch) Pohodlné (.then, .catch)
async/await Najlepšie Pohodlné (try...catch) Pohodlné (await)

Najpreferovanejšou metódou v moderných Node.js aplikáciách je použitie async/await kvôli jeho čitateľnosti a pohodliu. Promises zostávajú dôležitým nástrojom, najmä na nižšej úrovni implementácie. Callbacks sa používajú v zastaranom kóde alebo pre nízkoúrovňové operácie v jadre Node.js.