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.