Async/Await: Tiszta és olvasható aszinkron kód JavaScriptben
Bár a Promise-ok és a .then() / .catch() láncolat jelentős javulást hozott a callbackekhez képest, a kód komplexebb logikák esetén továbbra is hajlamos volt strukturálisan szétesni. Az ES2017 szabványban bevezetett async/await szintaxis szint lépett az aszinkron kódok olvashatóságában.
Az async/await lehetővé teszi, hogy az aszinkron kódot úgy írjuk meg, mintha az szekvenciális (szinkron) módon futna. Ez nem változtatja meg a háttérben futó Event Loop működését, csupán egy tisztább réteget biztosít a fejlesztőnek.
Gyakorlati alkalmazás és hibakezelés
Egy függvény elé ki kell tennünk az async kulcsszót, ezen belül pedig az aszinkron műveletek elé az await szót. A hibakezelést a hagyományos try...catch blokkokkal oldhatjuk meg:
async function felhasznaloiAdatokMutatasa() {
try {
console.log("Adatok lekérése folyamatban...");
// Valós API hívás szimulálása a fetch segítségével
const response = await fetch('https://api.example.com/user/1');
if (!response.ok) {
throw new Error("A hálózati kérés nem sikerült");
}
const adat = await response.json();
console.log("Felhasználó neve:", adat.name);
} catch (error) {
console.error("Hiba történt a folyamat során:", error.message);
}
}
Az async/await használatával a kód felépítése lineáris marad, ami drasztikusan megkönnyíti a hibakeresést (debugging) és a kód karbantartását hosszú távon.