Hvordan legge igjen tidsavbrudd i Node.js?

Hvordan Legge Igjen Tidsavbrudd I Node Js



I Node.js er ' Tidtakere ”-modulen planlegger oppgaven som kan utføres etter et spesifikt tidsintervall ved hjelp av flere innebygde metoder. Denne modulen gir også en ' Pause ' klasse som opprettes som standard internt når den planlagte ' setTimeout ()' eller ' settintervall ()» utføres. Denne klassen fortsetter å fungere selv etter at de angitte metodene er stoppet eller kansellert. Derfor er brukeren pålagt å stoppe den på grunn av at hendelsessløyfen kan stoppe.

Denne oppskriften vil vise hvordan du legger Timeouts bak i Node.js.







Hvordan legge igjen tidsavbrudd i Node.js?

For å forlate eller avbryte utførelsen av hendelsessløyfen etter å ha avbrutt planleggingsmetodene, bruk ' unref ()' og ' ref ()»-metoder. « unref ()»-metoden ber om « Pause ” objekt for å deaktivere kjøringen av hendelsessløyfen fordi den ikke krever mer. På den annen side, ' ref ()»-metoden refererer til « tidtaker '-objekt for å sjekke om det er aktivt eller deaktivert etter å ha kalt ' unref ()»-metoden.



« unref ()”-metoden stopper kjøringen av hendelsessløyfen hvis det ikke er noen annen prosess å kjøre før den angitte tilbakeringingsfunksjonen kalles. Når alt er gjort, vil ' ref ()»-metoden bekrefter om « Pause ”-objektet er deaktivert eller ikke.



Syntaks for 'ref()'-metoden

Arbeidet med ' ref ()»-metoden er avhengig av dens nedenfor angitte generaliserte syntaks:





pause. ref ( )

Syntaks for 'unref()'-metoden

Arbeidet med ' process.unref ()'-metoden avhenger av dens nedskrevne grunnleggende syntaks:

pause. unref ( )

Parametere : Begge de define-syntaksene ovenfor trenger ikke noe ekstra argument for å utføre hovedfunksjonaliteten.



Returverdier: « ref ()» og « unref ()»-metoder gir en « Ingen ' returnerte type.

Eksempel: Bruk av 'ref()' og 'unref()'-metoder for å stoppe 'Timeout'-objektet

Dette eksemplet viser den praktiske implementeringen av ' ref ()» og « unref ()'-metoder for å kontrollere standardoppførselen til hendelsessløyfen og kansellere den internt opprettede ' Pause ' objekt:

var Pause = setTimeout ( funksjon myFun ( ) {
konsoll. Logg ( 'Tidsavbrudd er satt til 1000ms' , 1000 ) ;
} ) ;
konsoll. Logg ( '2.' , Pause. harRef ( ) ) ;
konsoll. Logg ( '3.' , Pause. ref ( ) ) ;
konsoll. Logg ( '4.' , Pause. unref ( ) ) ;
konsoll. Logg ( '5.' , Pause. harRef ( ) ) ;
Pause. ref ( )
konsoll. Logg ( '6.' , Pause. harRef ( ) ) ;
clearTimeout ( Pause ) ;
konsoll. Logg ( '7. Tidsavbrudd er slettet!' ) ;

Forklaringen av kodelinjene ovenfor er skrevet nedenfor:

  • For det første, ' Pause '-objektet bruker ' setTimeout ()»-metoden som definerer en funksjon for å vise den angitte oppgavesetningen etter den gitte tidsforsinkelsen. Denne metoden returnerer en ' Pause ” objekt internt.
  • Deretter ' console.log ()»-metoden bruker « harRef ()»-metoden for å sjekke om « Pause ()»-objektet eksisterer eller ikke. Den returnerer en 'boolsk' verdi som utdata.
  • Etter det, ' console.log ()»-metoden bruker « ref ()'-metoden for å skrive ut den returnerte ' Pause ' objekt.
  • Nå, ' unref ()»-metoden deaktiverer « Pause '-objektet hvis det eksisterer og verifiserer deretter resultatet via ' harRef ()»-metoden.
  • Til slutt, referer til ' Pause '-objektet igjen, kontroller at det eksisterer, og 'stopp' deretter intervallet ved å bruke ' clearTimeout ()»-metoden.

Produksjon

Utfør ' app .js'-filen med den gitte ' node ' kommando:

node-app. js

Utgangen nedenfor viser først eksistensen av ' Pause ”-objektet og deretter deaktiverer det og stopper intervallet henholdsvis:

Det handler om å forlate ' Pause ” objekt bak i Node.js.

Konklusjon

For å forlate ' Pause ' objekt bruk den innebygde ' unref ()' og ' ref ()»-metodene for « Pause ' klasse. Begge disse metodene utfører operasjonene basert på navn og funksjonalitet. Disse metodene håndterer standardoppførselen til hendelsesløkken. Denne oppskriften har illustrert alle mulige tilnærminger for å legge Timeouts bak i Node.js.