⇧
vadnica-logo
Moje storitve O projektu Telegram O meni O meni

Async in Await v JavaScriptu

Ključni besedi async in await sta spremenili pravila igre v JavaScriptu. Ne prinašata nove tehnologije, ampak so le tisto, čemur programerji pravimo "sintaktični sladkor" (syntactic sugar) – omogočata nam namreč, da asinhrono Fetch kodo zapišemo na način, ki **izgleda popolnoma linearno in sinhrono**, kot bi brali navadno knjigo od zgoraj navzdol.

PRIMER
REZULTAT

Pravila uporabe:

Za pravilno delovanje moramo upoštevati dve zlati pravili:

  1. async: Besedo vstavimo čisto pred začetek funkcije (to brskalniku pove, da bo funkcija delovala asinhrono).
  2. await: To besedo postavimo pred klic fetch() ali pretvorbo podatkov. JavaScript bo v tisti vrstici dobesedno "počakal", da strežnik vrne podatek, šele nato bo šel v naslednjo vrstico.

Lovljenje napak s try ... catch

Ker pri async/await nimamo metode .catch(), za lovljenje napak (npr. če strežnik pade) uporabimo klasični programerski blok try { ... } catch (napaka) { ... }, ki ga poznamo iz drugih jezikov:

async function nalozi() {
    try {
        const odgovor = await fetch("podatki.json");
        const podatki = await odgovor.json();
        console.log(podatki);
    } catch (napaka) {
        console.error("Nekaj je šlo narobe: ", napaka);
    }
}