Hva er async/avventer funksjoner i JavaScript

Hva er async/avventer funksjoner i JavaScript

Som vi alle vet, gjør Javascripts enkelt gjengede natur synkront; Så asynkrone funksjoner er nødvendige for å utføre en asynkron oppgave. De asynkrone funksjonene lar oss utføre en handling uten å vente på at den forrige handlingen skal fullføre. Det betyr at det er en hendelsessløyfe som lar deg stå i kø for en oppgave (Når det ber om noen ressurser) og gå videre til neste.

JavaScript tilbyr mange funksjoner som kan gjøre koden asynkron; async Vent på funksjoner er en av dem. De async/avventer funksjoner er bare syntaktisk sukker på toppen av allerede nåværende funksjoner i JavaScript. De gir en enkel måte å håndtere asynkron kode. De async/avventer funksjoner kan byttes med løfter i JavaScript -koden, og koden vil fungere helt bra

Menneskelige hjerner er ikke designet for å håndtere asynkroni effektivt. De async/avventer funksjoner La oss skrive kode som ser synkronisert ut, men utfører den asynkront.

Denne artikkelen vil hjelpe deg med å lære om async og avventer funksjoner i JavaScript.

Hvorfor å bruke async/avvente funksjoner?

Følgende er grunnene til at async/avventer funksjoner skal brukes i JavaScript -kode:

  • Vi kan skrive ren og konsis kode med noen få feil ved å bruke async/avventer. Dette vil øke lesbarheten til nestet og kompleks kode.
  • Hjelper til Feilsøking. Feil kan håndteres på ett sted ved å bruke prøve/fange.
  • De async/avventer funksjoner Ha en skikkelig feilstabel, i motsetning til den tvetydige stabelen mottatt av Promise, noe som gjør det vanskelig å finne hvor feilen oppsto.

Hvordan bruke async i JavaScript

Async er et nøkkelord som kan brukes til erklæring om synkrone funksjoner. Gjennom async -funksjon, Du kan sørge for at du ikke bryter utførelsens tråd, som kan skrives som synkroniserer PROFTS-basert kode.

Funksjoner ved async -funksjon

  • Fungerer asynkront gjennom en begivenhetssløyfe
  • Returnerer alltid en verdi
  • Det sjekker at et løfte kommer tilbake, og hvis det ikke gjør det, pakker JavaScript automatisk med løftet det løser seg til den verdien

Syntaks av async -funksjon

Syntaksen til async -funksjon er som følgende:

async funksjonsnavn ([param1 [, param2 [, ... param3]]])
uttalelser

Her representerer navnet funksjonsnavnet, params representerer navnet på parametere som skal sendes i funksjonen, og utsagn inneholder kroppen til funksjonen og en eller flere venter på uttrykk som brukes i async -funksjonen.

Et enkelt eksempel på asyncfunksjon

const getData = async () =>
var data = "Hello World";
Returdata;

getData ().da (data => konsoll.logg (data));

La oss se på et annet eksempel:

async funksjon foo ()
Venter 1;

Ovennevnte funksjon tilsvarer følgende funksjon:

funksjon foo ()
Returløft.Løs (1).da (() => udefinert)

Over eksemplet representerer at koden etter hvert avvente uttrykk sannsynligvis vil være i tilbakeringing i.e .deretter. Gjennom funksjonene konstrueres løftekjeden automatisk trinn for trinn på hvert reentry -trinn. Returverdien danner det siste trinnet i kjeden.

Hvordan du bruker venter i javascript

Hensikten med det avvente uttrykket er å vente på JavaScript før returresultatet av løftet. Det er viktig å merke seg at dette bare vil stille en asynkron funksjonsblokk i kø, ikke utførelsen av hele programmet.

Funksjoner med avvente funksjon

  • Kan bare brukes i asynkrone blokker.
  • Får koden til å vente på at løftet skal returnere et resultat.
  • Bare asynkrone blokker vil fortsette å vente.

Syntaks av avvente funksjon

Syntaksen av avvente uttrykk er som følger:

[RV] = venter [uttrykk]

Her, venter på representerer enhver verdi å vente på eller løfte, RV returnerer verdien hvis det ikke er noe løfte, ellers returnerer den forventede verdien av løftet.

Et enkelt eksempel på vent på uttrykk

const getData = async =>
var y = venter "hei verden";
konsoll.logg (y);

konsoll.logg (1);
getData ();
konsoll.logg (2);

JavaScript Utfører kode sekvensielt.

I eksemplet over kan vi se at konsoll.Logg (1) ble skrevet ut først som forventet. Etter dette getData () -funksjon ble kalt der vi initierte en variabel med navnet Y, og vi brukte det avvente nøkkelordet i det.

Det avvente nøkkelordet vil føre til at JS-kjøretiden stopper eller pauser koden i den linjen I-E der vi har skrevet "Hello World". Det vil ikke tillate utførelse av ytterligere kode før ASYNC -funksjonssamtalen returnerer resultatet. Den vil sende denne oppgaven til oppgavekøen, og de neste kodelinjene vil begynne å kjøre.

I neste linje etter å ha ringt funksjonen getData () Vi konsolllogger 2 til konsollvinduet. Derfor så vi 2 før “Hei Verden”.

Nå etter dette når async samtalefunksjon Returnerer resultatet først da vil koden gjenopptas for å løpe igjen, og derfor ser vi “Hei Verden”På slutten av konsollvinduet.

Konklusjon

Asynk og avvente funksjoner er en flott måte å håndtere asynkron kode i JavaScript, da de gir tydelig og kortfattet syntaks. I dette innlegget utforsket vi begrepet async/avvente funksjoner i JavaScript. I første halvdel av artikkelen undersøkte vi hva asynk. Så utforsket vi funksjonene deres og syntaks sammen med eksempler.