Ohjelmoinnin maailmassa on tärkeää käsitellä asynkronisia tapahtumia tehokkaasti käyttäjäkokemuksen varmistamiseksi. Erityisesti JavaScriptissä on monia tapoja tehdä tämä. Yksi suosituimmista menetelmistä asynkronisten tapahtumien käsittelemiseen on async/await-rakenteen käyttö. Tämä sisältää syntaktisen yksinkertaistamisen, joka mahdollistaa asynkronisen ohjelmoinnin tekemisen selkeämmäksi ja luettavammaksi. Tarkastellaan tässä oppaassa async- ja await-perusteita ja sitä, kuinka ne voivat parantaa koodisi laatua.
Tärkeimmät havainnot
- async/await mahdollistaa selkeämmän ja yksinkertaisemman syntaksin asynkronisten tapahtumien käsittelyyn.
- Jokaisen funktion, joka käyttää await-avainsanaa, on oltava deklaroitu async:ksi.
- await odottaa tehokkaasti Promisen täyttymistä ennen kuin koodia jatketaan.
- Virheiden käsittely voidaan toteuttaa elegantisti try/catch-lohkoilla.
Vaiheittainen opas
Ensinnäkin sinun tulisi varmistaa, että ymmärrät Promisten perusteet, sillä async/await perustuu siihen. Kun olet perehtynyt Promisiin, voimme nyt keskustella async/awaitin käytöstä.
Vaihe 1: Viivefunktion luominen
Aloita yksinkertaisella funktiolla, joka palauttaa Promisen, joka simuloi viivettä. Tässä on esimerkki delay-nimisestä funktiosta.
Tämä on perusimplementaatio. Tällä funktiolla voit määrittää viiveen millisekunneissa.

Vaihe 2: Asyncin ja awaitin esittely
Nyt haluat hyödyntää async/awaitin etuja. Aloita luomalla funktio, joka käyttää async-avainsanaa.
Tässä koodilohkossa runDelay-funktio käyttää async-avainsanaa, mikä mahdollistaa awaitin käytön. Tämä tarkoittaa, että funktion suoritus keskeytetään, kunnes delay-funktiosta palautettu Promise on täytetty.
Vaihe 3: Asynkronisen funktion testaaminen
Testataksesi toimivuutta, kutsu runDelay-funktiota.
Kun suoritat skriptin, näet konsolissa "Aloitetaan viive...", sen jälkeen se pysähtyy 2 sekunniksi ja lopuksi näyttää "Viive päättynyt.".
Vaihe 4: Virheiden käsittely try/catchilla
Tämä tapahtuu usein ohjelmoinnissa – virheitä voi esiintyä milloin tahansa. async/awaitin avulla voit käsitellä virheitä try/catchilla helpommin.
Jos haluat siepata virheitä, voit muokata runDelay-funktiota seuraavasti:
Käyttämällä try/catchia voit siepata ja näyttää kaikki virheet, jotka syntyvät await delay(2000) suorittamisen aikana.

Vaihe 5: Fetchin käyttäminen async/awaitin kanssa
Toinen yleisesti käytetty tapa on tietojen hakeminen fetch-API:n avulla.
Esimerkissä tehdään verkko-pyyntö fetchin avulla. Voimme jälleen käyttää awaitia varmistaaksemme, että odotamme vastausta ennen kuin jatkamme.
Yhteenveto - Async ja Await: Vaiheittainen opas
Tässä oppaassa olet oppinut, kuinka voit käsitellä asynkronisia tapahtumia selkeämmin JavaScriptin async/await-rakenteen avulla. Olet nähnyt, kuinka luodaan viivefunkio, kuinka käsitellä virheitä ja kuinka hakea tietoja tehokkaasti fetch-API:lla.
Käytä tätä syntaksia tulevissa projekteissasi tehdäksesi koodistasi luettavampaa ja ylläpidettävämpää!
Usein kysytyt kysymykset
Mikä on ero asyncin ja awaitin välillä?async merkitsee funktion asynkroniseksi, mikä tarkoittaa, että se palauttaa Promiseja. awaitia käytetään odottamaan Promisen tulosta.
Milloin sinun tulisi käyttää async/awaitia?Käytä sitä, kun työskentelet asynkronisten tapahtumien parissa ja haluat pitää koodisi selkeänä ja luettavana.
Voinko käyttää async/awaitia kaikissa selaimissa?Kyllä, mutta varmista, että käytettävä selain tukee moderneja JavaScript-syntakseja. Tarvittaessa voidaan käyttää transpilereita kuten Babel.
Voinko käyttää awaitia tavallisessa funktiossa?Ei, jotta voit käyttää awaitia, funktion, jossa sitä käytetään, on oltava deklaroitu asynciksi.
Mitä tapahtuu, jos Promise epäonnistuu?Jos Promise epäonnistuu, se laukaisee virheilmoituksen, joka voidaan käsitellä try/catchilla.