logo

Async og Await i JavaScript

Async og Await in JavaScript er kraftige nøkkelord som brukes til å håndtere asynkrone operasjoner med løfter. Async-funksjoner returnerer implisitt løfter, mens Await stanser utførelsen til løftet er løst. Dette forenkler asynkron kode og forbedrer lesbarheten ved å få den til å virke synkron.

Asynkron funksjon

Deasync>funksjonen lar oss skrive løftebasert kode som om den var synkron. Dette sikrer at utførelsestråden ikke blokkeres.

ramme tkinter
  • Løftehåndtering : Asynkrone funksjoner gir alltid et løfte. Hvis en verdi returneres som ikke er et løfte, pakker JavaScript den automatisk inn i et løst løfte.

Asynkron syntaks

async function myFunction() { return 'Hello'; }>

Eksempel: Her vil vi se den grunnleggende bruken av asynkron i JavaScript.



javascript
const getData = async () =>{ la data = 'Hei verden';  returnere data; } getData().then(data => console.log(data));>

Produksjon
Hello World>

Avvent nøkkelord

Deawait>nøkkelord brukes til å vente på at et løfte skal løses. Den kan bare brukes innenfor en asynkron blokk.

  • Utførelsespause : Await får koden til å vente til løftet gir et resultat, noe som gir renere og mer håndterlig asynkron kode.

Syntaks

let value = await promise;>

Eksempel : Dette eksemplet viser den grunnleggende bruken av await-nøkkelordet i JavaScript.

javascript
const getData = async () =>{ la y = avvente 'Hei verden';  console.log(y); } console.log(1); getData(); console.log(2);>

Produksjon
1 2 Hello World>

De asynkron nøkkelord forvandler en vanlig JavaScript-funksjon til en asynkron funksjon, noe som får den til å returnere et løfte.

De avvente nøkkelord brukes inne i en async-funksjon for å pause utførelsen og vente på at et løfte løses før du fortsetter.

linux kommandoer

Eksempel på asynkron/avvent

Her skal vi implementere flere løfter i en metode, og deretter den metoden vi skal bruke for å vise resultatet. Du kan sjekke JS asynkron/avvent syntaks i eksemplet.

Javascript
function asynchronous_operational_method() {  let first_promise =   new Promise((resolve, reject) =>resolve('Hei'));  la second_promise = new Promise((løse, avvise) => { setTimeout(() => { resolve(' techcodeview.com..'); }, 1000); });  la kombinert_løfte = Promise.all([første_løfte, andre_løfte]);  returner kombinert_løfte; } asynkronfunksjon display() { la data = avvente asynkron_operasjonell_metode();  console.log(data); } vise();>

Produksjon:

0,06 som en brøkdel
[ 'Hello', ' techcodeview.com..' ]>

Forklaring:

  1. Løfte skapelsen :
    • To løfter opprettes: ett løses umiddelbart med Hello, og det andre løses etter 1 sekund med techcodeview.com...
  2. Kombinere løfter :
    • Promise.all()-metoden kombinerer begge løftene til et enkelt løfte, combined_promise.
  3. Asynkron funksjon :
    • Display()-funksjonen er erklært som asynkron, noe som indikerer at den inneholder asynkrone operasjoner.
  4. Venter på løfteoppløsning :
    • Nøkkelordet vent pauser kjøringen til combined_promise er løst.
  5. Loggingsresultat :
    • Den løste matrisen fra combined_promise logges til konsollen.

Merk

Til Løse og avvise er forhåndsdefinerte argumenter av JavaScript.

  • løse funksjonen brukes når en asynkron oppgave er fullført og returnerer resultatet.
  • avvisningsfunksjon brukes når en asynkron oppgave mislykkes og returnerer årsaker til feil.

Fordeler med Async og Await

  1. Forbedret lesbarhet : Async og Await lar asynkron kode skrives i en synkron stil, noe som gjør det lettere å lese og forstå.
  2. Feilhåndtering : Bruk av try/catch-blokker med async/await gjør feilhåndteringen enkel.
  3. Unngår Callback Hell : Async og Await hjelper til med å unngå nestede tilbakeringinger og komplekse løftekjeder.
  4. Bedre feilsøking : Feilsøking av asynkron-/ventekode er mer intuitivt ettersom den oppfører seg som synkron kode.

Konklusjon

Async og Await in JavaScript har revolusjonert asynkron programmering ved å gjøre koden mer lesbar og vedlikeholdbar. Ved å la asynkron kode skrives i en synkron stil, reduserer de kompleksiteten forbundet med tilbakeringinger og lover kjeding. Å forstå og bruke asynkron og vente effektivt kan forbedre dine JavaScript-programmeringsferdigheter betydelig, noe som gjør det enklere å håndtere asynkrone operasjoner i prosjektene dine.

Støttede nettlesere:

Nettleserne som støttes av JS Async/Await-funksjon er oppført nedenfor:

  • Google Chrome 55 og nyere
  • Firefox 52 og nyere
  • Apple Safari 10.1 og nyere
  • Opera 42 og nyere
  • Kant 14 og over