I programmeringens verden er det afgørende at håndtere asynkrone processer effektivt for at sikre en engagerende brugeroplevelse. Især i JavaScript er der mange måder at gøre dette på. En af de mest populære metoder til at arbejde med asynkrone processer er async/await-konstruktionen. Denne indebærer en syntaktisk forenkling, der gør det muligt for dig at gøre asynkron programmering klarere og mere læselig. Lad os i denne vejledning lære grundlaget for async og await og hvordan de kan forbedre din kodning.
Vigtigste indsigter
- async/await muliggør en klarere og enklere syntaks til håndtering af asynkrone processer.
- Enhver funktion, der bruger nøgleordet await, skal deklareres som async.
- await venter effektivt på opfyldelsen af et Promise, før koden fortsætter med at køre.
- Fejl håndtering kan elegant implementeres med try/catch-blokke.
Trin-for-trin vejledning
Først skal du sikre dig, at du forstår grundlaget for Promises, da async/await bygger på dette. Når du er fortrolig med Promises, kan vi nu diskutere brugen af async/await.
Trin 1: Oprettelse af en delay-funktion
Start med en simpel funktion, der returnerer et Promise, som simulerer en forsinkelse. Her er et eksempel på en funktion kaldet delay.
Dette er en grundlæggende implementering. Med denne funktion kan du angive en forsinkelse i millisekunder.

Trin 2: Introduktion af Async og Await
Nu vil du gerne udnytte fordelene ved async/await. Begynd med at oprette en funktion, der bruger async-nøgleordet.
I dette kodeudsnit bruger funktionen runDelay async-nøgleordet, hvilket gør den i stand til at bruge await. Det betyder, at udførelsen af funktionen stoppes, indtil det Promise, der returneres af delay-funktionen, er opfyldt.
Trin 3: Test af den asynkrone funktion
For at teste, hvordan det fungerer, kalder du runDelay-funktionen.
Når du kører scriptet, vil du se, at konsollen udskriver "Starter forsinkelse...", derefter pauser den i 2 sekunder og viser til sidst "Forsinkelse afsluttet.".
Trin 4: Fejlbehandling med try/catch
Dette sker ofte i programmering – fejl kan opstå når som helst. Med async/await kan du lettere håndtere fejl ved hjælp af try/catch.
Hvis du vil fange fejl, kan du modificere runDelay-funktionen som følger:
Ved at bruge try/catch kan enhver fejl, der opstår under udførelsen af await delay(2000), fanges og vises.

Trin 5: Brug af fetch med async/await
En anden ofte anvendt situation er at hente data med fetch-API'en.
I dette eksempel laves der en netværksanmodning med fetch. Igen kan vi med await sikre os, at vi venter på svaret, før vi fortsætter.
Opsummering - Async og Await: En trin-for-trin vejledning
I denne vejledning har du lært, hvordan du med async/await-konstruktionen i JavaScript kan håndtere asynkrone processer klarere. Du har set, hvordan du opretter en delay-funktion, hvordan du håndterer fejl, og hvordan du kan hente data effektivt med fetch-API'en.
Brug denne syntaks i dine fremtidige projekter for at gøre din kode mere læselig og vedligeholdelsesvenlig!
Ofte stillede spørgsmål
Hvad er forskellen mellem async og await?async markerer en funktion som asynkron, hvilket betyder, at den returnerer Promises. await bruges til at vente på resultatet af et Promise.
Hvornår skal du bruge async/await?Brug det, når du arbejder med asynkrone processer og ønsker, at din kode forbliver klar og læsbar.
Kan jeg bruge async/await i enhver browser?Ja, men sørg for, at den anvendte browser understøtter moderne JavaScript-syntaks. Hvis nødvendigt kan transpiler såsom Babel anvendes.
Kan jeg bruge await i en regulær funktion?Nej, for at bruge await skal funktionen, hvor det bruges, deklareres som async.
Hvad sker der, hvis et Promise fejler?Hvis et Promise fejler, udløses en fejlmeddelelse, som kan håndteres med try/catch.