Før start
Før du begynner å bygge en søvnfunksjon, må du forstå at Settimeout () -funksjonen ikke fungerer hvis du forventer at den skal stoppe utførelsen. Mange programmerere og utviklere prøver å bruke funksjonen med løkker, men mislykkes fordi Settimeout () -funksjonen brukes til å vente på noen gitt tid og deretter kjører den gitte funksjonen. Du kan imidlertid bruke Settimeout () -funksjonen for å bygge en søvnfunksjon ved å bruke løfte hvis formålet ditt er å stoppe utførelsen i ønsket tid.
Bruke søvnfunksjonen
Så vi vil lage en tilpasset søvnfunksjon der funksjonen vil få tid i millisekunder som et argument og returnere et løfte. Løftet vil omfatte en Settimeout () -funksjon, som vil passere resolveren som en funksjon og tid i millisekunder til Settimeout () -funksjonen. Så til slutt skal søvnfunksjonen se slik ut:
funksjon Sleep (MS)Og nå, uansett hvor du vil bruke denne søvnfunksjonen, kan du enkelt bruke den.
Nå vil vi bruke denne søvnfunksjonen i et par eksempler for å vise deg hvordan du bruker den i praksis.
Først vil vi prøve å trøste litt tekst og ringe søvnfunksjonen. Siden søvnfunksjonen gir et løfte, setter vi en daværende funksjon etter den, der vi vil trøste litt tekst og sende argumentet '5000' til søvnfunksjonen. Etter å ha kjørt programmet, vil du se i konsollen at det vil sove i 5 sekunder.
konsoll.Logg ("Søvnfunksjonen vil vente i 10 sekunder, og så skriver den ut 'gjort'");Du kan være vitne til forsinkelsen på 5 sekunder for å komme til "Done" -statusen i konsollen.
Anta at vi vil utføre en animasjon etter hvert 2. sekund. For å gjøre det, vil vi ganske enkelt skrive en asynkron animasjonsfunksjon, der vi vil animere noe, stoppe utførelsen i 2 sekunder ved hjelp av søvn, og deretter gjenta denne prosessen ved hjelp av en for loop i 10 ganger.
async funksjon animasjon (ms)Etter å ha skrevet den asynkrone animasjonsfunksjonen, kan vi nå kalle animasjonsfunksjonen.
Animasjon (2000);Etter å ha kjørt koden, vil du se i konsollen at teksten "animasjon etter 2 sekunder" gjentar hvert annet sekund.
Konklusjon
Denne artikkelen viste deg hvordan du lager en tilpasset søvnfunksjon, sammen med flere demonstrasjoner. Jeg håper denne artikkelen har hjulpet deg til å forstå bruken av søvnfunksjon bedre. Du kan lære mer om JavaScript på Linuxhint.com.