Milyen módszereket ismersz az aszinkron kód kezelésére?
sobes.tech MI
Válasz az MI-től
Visszahívások, Ígéretek, async/await.
Visszahívások: Funkciók, amelyeket más funkciók argumentumaként adnak át, és amelyek az aszinkron művelet befejezése után hívódnak meg.
Ígéretek: Objektumok, amelyek kényelmesebb módot kínálnak az aszinkronitás kezelésére a visszahívásokhoz képest. Állapotuk pending, fulfilled és rejected.
// Ígéret példa
function asyncOperation() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('A művelet sikeresen befejeződött!');
}, 1000);
});
}
asyncOperation()
.then(result => console.log(result))
.catch(error => console.error(error));
async/await: Szintaktikus cukor a Promises felett, amely az aszinkron kódot inkább szinkronnak teszi, és javítja az olvashatóságot.
// async/await példa
async function performAsyncOperation() {
try {
const result = await asyncOperation();
console.log(result);
} catch (error) {
console.error(error);
}
}
performAsyncOperation();
Módszerek összehasonlítása:
| Módszer | Olvashatóság / Karbantartás | Hibakezelés | Áramlás irányítása |
|---|---|---|---|
| Visszahívások | Kevésbé olvasható (Callback Hell) | Nehéz | Nehéz |
| Ígéretek | Fejlettebb | Kényelmes (.catch) | Kényelmes (.then, .catch) |
| async/await | Legjobb | Kényelmes (try...catch) | Kényelmes (await) |
A modern Node.js alkalmazásokban a legpreferáltabb módszer az async/await használata, mivel olvashatóbb és kényelmesebb. Az ígéretek továbbra is fontos eszközök, különösen alacsonyabb szintű megvalósításoknál. A visszahívásokat régi kódban vagy alacsony szintű műveleteknél használják a Node.js magjában.