Hvordan vente på et løfte om å avslutte før du returnerer variabelen til en funksjon

Hvordan vente på et løfte om å avslutte før du returnerer variabelen til en funksjon
På programmeringsspråk er det meste av tiden du kan trenge å legge til forskjellige funksjonaliteter i et enkelt program. I et slikt scenario er det nødvendig å ringe funksjonen i en kø eller en spesifisert sekvens. For det, legg til forsinkelsen i en bestemt tid i millisekunder ved hjelp av "setTimeout ()”Metode. En annen tilnærming er å bruke nøkkelordene, “async”Og“avvente”Med de respektive funksjonene.

Dette innlegget vil oppgi metoden for å vente på at løftet skal avsluttes før det returnerer variabelen.

Hvordan vente på et løfte om å avslutte før du kommer tilbake/gir ut variabelen til en funksjon?

For det nevnte formålet kan forskjellige metoder brukes til dette formålet, inkludert "setTimeout ()”Metode og“async”Nøkkelord. Disse tilnærmingene fungerer på en slik måte at funksjonen venter en stund.

For praktisk, sjekk ut de under-uttalte metodene.

Eksempel 1: Bruk metoden “Settimeout ()” for å vente på et løfte om å avslutte før du returnerer variabelen til en funksjon
Du kan bruke “setTimeout ()”Metode for å vente på et løfte om å avslutte før du returnerer variabelen til en funksjon. Slik at den definerte funksjonen venter på den angitte tiden. For å gjøre det, erklær et konstant type objekt og tilordne verdien som "MS" som betegner tiden i millisekunder. Bruk deretter metoden “setTimeout ()” og gi argumentene:

const wait = ms => new Promise (Resolve => setTimeout (Resolve, MS));

Deretter definerer du en funksjon med et bestemt navn. I dette eksemplet er funksjonen som heter “CallbackFailure" er definert. Deretter påkaller “konsoll.Logg()”Metode og passere verdien som argument for denne metoden for å vise utgangen på konsollen:

funksjon callbackFailure ()
konsoll.logg ("tilbakeringingsfeil");

Påkalle “vente()”Metode og angi tiden”5 sekunder (5*1000)”Som parameter. Bruk deretter “Kast/fangst”Uttalelse der“kaste”Uttalelse brukes til testing av feilkoden, og fangstuttalelsen lar deg håndtere feilen:

Vent (5*1000).da (() =>
konsoll.Logg ("Vent i fem sekunder");
Kast ny feil ("Feil");
)
.fangst (() =>
callbackFailure ();
);

Igjen, bruk "vente()”Metode og sett tiden for å vente og påkalle“konsoll.Logg()”Metode for å skrive ut utgangen på konsollen etter den spesifiserte tiden:

Vent (3*1000).da (() => konsoll.Logg ("Vent i tre sekunder"));

Det kan observeres at den spesifiserte tiden er satt til å vente på et løfte:

Eksempel 2: Bruk “Async/Await” -tilnærming for å vente på et løfte om å avslutte før du returnerer variabelen til en funksjon
Du kan også bruke async/avvente tilnærming til å vente på et løfte om å avslutte før du returnerer variabelen til en funksjon. Denne metoden brukes når "setTimeout ()”Kan ikke bestemmes. For å gjøre det, “async”Nøkkelord i JavaScript påkalles for å lage en asynkron funksjon. Denne funksjonen vil gi et løfte om å løse løftet eller avvise løftet.

For å gjøre det, bruk "funksjon()”Og lagre den i en variabel. Bruk deretter returnøkkelordet og påkalle et nytt løfte ved hjelp av "setTimeout ()”Metode:

var func = funksjon ()
konsoll.log ("funksjon");
Returner nytt løfte (Løs =>
setTimeout (funksjon ()
Resolve ("\ t \ t First Promise");
konsoll.Logg ("Returned Promise");
, 3000);
);
;

Definer en funksjon med et bestemt navn og påkalle den asynkrone funksjonen ved hjelp av "async”Nøkkelord. Bruk deretter det avvente nøkkelordet, ring funksjonen og lagre det i et konstant type objekt:

var async_function = async funksjon ()
konsoll.log ('async -funksjon kalt');
const first_promise = Await func ();
konsoll.logg ("Resultat etter å ha ventet i 3 sekunder");
konsoll.logg (first_promise);

Ring funksjonen for å vise på konsollen:

async_function ()

Produksjon

Det handler om å vente på et løfte om å avslutte før du returnerer variabelen til en funksjon.

Konklusjon

Å vente på et løfte om å avslutte før den returnerer variabelen, "setTimeout ()”Og“async/avventer”Tilnærminger kan brukes. For å gjøre det, venter den definerte funksjonen på en spesifikk tidsperiode og viser utgangen på konsollen. Denne opplæringen har uttalt metoden for å vente på et løfte om å avslutte før den returnerer variabelen.