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.