JavaScript

JavaScript-søvnfunktion

JavaScript-søvnfunktion

Javascript er frihedens sprog, men alligevel et funktionsorienteret sprog på samme tid. I modsætning til andre sprog giver javascript ikke en indbygget søvnfunktion (). Du kan enten oprette en brugerdefineret sleep () -funktion ved hjælp af den indbyggede setTimeout () -funktion, eller det nyeste ECMAScript lover en async-wait-funktion. Denne artikel viser dig, hvordan du stopper eller stopper udførelsen af ​​søvnfunktionen i et ønsket tidsrum ved hjælp af løfter eller asynkroniserede funktioner.

Inden du starter

Før du begynder at opbygge en dvalefunktion, skal du forstå, at funktionen setTimeout () ikke fungerer, hvis du forventer, at den stopper udførelsen. Mange programmerere og udviklere forsøger at bruge funktionen med sløjfer, men mislykkes, fordi funktionen setTimeout () bruges til at vente på en vis tid og kører derefter den givne funktion. Du kan dog bruge funktionen setTimeout () til at opbygge en søvnfunktion ved hjælp af løfte, hvis dit formål er at stoppe udførelsen i en ønsket periode.

Brug af søvnfunktionen

Så vi laver en brugerdefineret søvnfunktion, hvor funktionen får tid i millisekunder som et argument og returnerer et løfte. Løftet inkluderer en setTimeout () -funktion, som overfører resolveren som en funktion og tid i millisekunder til funktionen setTimeout (). Så i sidste ende skal søvnfunktionen se sådan ud:

funktion søvn (ms)
returner nyt løfte (resolver => setTimeout (resolver, ms));
;

Og nu, uanset hvor du vil bruge denne søvnfunktion, kan du nemt bruge den.

Nu bruger vi denne søvnfunktion i et par eksempler for at vise dig, hvordan du bruger den i praksis.

Først vil vi forsøge at konsolere lidt tekst og kalde dvalefunktionen. Da søvnfunktionen returnerer et løfte, sætter vi en daværende funktion efter den, hvor vi konsolerer noget tekst og sender argumentet '5000' til søvnfunktionen. Efter at have kørt programmet, vil du se i konsollen, at det vil sove i 5 sekunder.

konsol.log ("Dvalefunktion venter i 10 sekunder og derefter udskriver den" Udført "");
sove (5000).derefter (() =>
konsol.log ("Udført");
)

Du kan se forsinkelsen på 5 sekunder for at komme til "Udført" status i konsollen.

Antag, at vi vil udføre en animation efter hvert 2. sekund. For at gøre det skriver vi simpelthen en asynkron animationsfunktion, hvor vi vil animere noget, stoppe udførelsen i 2 sekunder ved hjælp af dvaletilstand og derefter gentage denne proces ved hjælp af en for-sløjfe i 10 gange.

asynkroniseringsfunktionsanimation (ms)
konsol.log ("starter ...");
for (lad i = 0; i < 10; i++)
konsol.log ("animation efter 2 sekunder ...")
afventer søvn (ms)

konsol.log ("Dette er slutningen.");

Efter at have skrevet den asynkrone animationsfunktion, kan vi nu kalde animationsfunktionen.

animation (2000);

Efter kørsel af koden vil du se i konsollen, at teksten "animation efter 2 sekunder" gentages hvert andet sekund.

Konklusion

Denne artikel viste dig, hvordan du laver en brugerdefineret søvnfunktion sammen med flere demonstrationer. Jeg håber, at denne artikel har hjulpet dig til bedre at forstå brugen af ​​søvnfunktion. Du kan lære mere om Javascript på linuxhint.com.

Mus Top 5 ergonomiske computermusprodukter til Linux
Top 5 ergonomiske computermusprodukter til Linux
Forårsager langvarig brug af computeren smerter i dit håndled eller fingre? Lider du af stive led og er konstant nødt til at ryste hænderne? Føler du ...
Mus Sådan ændres mus og touchpad-indstillinger ved hjælp af Xinput i Linux
Sådan ændres mus og touchpad-indstillinger ved hjælp af Xinput i Linux
De fleste Linux-distributioner leveres som standard med "libinput" -biblioteket til at håndtere inputhændelser på et system. Det kan behandle inputhæn...
Mus Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Måske har du brug for et værktøj, der kan ændre din muses kontrol med hver applikation, du bruger. Hvis dette er tilfældet, kan du prøve en applikatio...