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:
- Løfte skapelsen :
- To løfter opprettes: ett løses umiddelbart med Hello, og det andre løses etter 1 sekund med techcodeview.com...
- Kombinere løfter :
- Promise.all()-metoden kombinerer begge løftene til et enkelt løfte, combined_promise.
- Asynkron funksjon :
- Display()-funksjonen er erklært som asynkron, noe som indikerer at den inneholder asynkrone operasjoner.
- Venter på løfteoppløsning :
- Nøkkelordet vent pauser kjøringen til combined_promise er løst.
- 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
- Forbedret lesbarhet : Async og Await lar asynkron kode skrives i en synkron stil, noe som gjør det lettere å lese og forstå.
- Feilhåndtering : Bruk av try/catch-blokker med async/await gjør feilhåndteringen enkel.
- Unngår Callback Hell : Async og Await hjelper til med å unngå nestede tilbakeringinger og komplekse løftekjeder.
- 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