Hvordan efterlader man timeouts i Node.js?

Hvordan Efterlader Man Timeouts I Node Js



I Node.js er ' Timere ” modul planlægger opgaven, der kan udføres efter et bestemt tidsinterval ved hjælp af dets flere indbyggede metoder. Dette modul giver også en ' Tiden er gået ' klasse, der oprettes som standard internt, når den planlagte ' sætTimeout ()' eller den ' sætinterval ()” udføres. Denne klasse fortsætter med at arbejde, selv efter at de angivne metoder er blevet stoppet eller annulleret. Derfor er brugeren forpligtet til at stoppe den, på grund af hvilken hændelsesløkken kan stoppe.

Denne opskrivning viser, hvordan du forlader Timeouts i Node.js.







Hvordan efterlader man timeouts i Node.js?

For at forlade eller annullere udførelsen af ​​begivenhedsløkken efter at have annulleret planlægningsmetoderne, skal du bruge ' unref ()' og ' ref ()' metoder. Det ' unref ()'-metoden anmoder om ' Tiden er gået ” objekt for at deaktivere udførelse af hændelsesløkke, fordi det ikke kræver mere. På den anden side er ' ref ()'-metoden refererer til ' timer ”-objekt til at kontrollere, om det er aktivt eller deaktiveret efter at have kaldt ” unref ()” metode.



Det ' unref ()”-metoden stopper udførelsen af ​​hændelsesløkken, hvis der ikke er nogen anden proces, der skal køres, før den angivne tilbagekaldsfunktion kaldes. Når alt er gjort, vil ' ref ()'-metoden verificerer, om ' Tiden er gået ” objektet er blevet deaktiveret eller ej.



Syntaks for metoden 'ref()'.

Arbejdet med ' ref ()'-metoden er afhængig af dens nedenfor angivne generaliserede syntaks:





tiden er gået. ref ( )

Syntaks for metoden 'unref()'.

Arbejdet med ' process.unref ()'-metoden afhænger af dens nedenstående grundlæggende syntaks:

tiden er gået. unref ( )

Parametre : Begge ovenstående definere-syntakser behøver ikke noget yderligere argument for at udføre deres hovedfunktionalitet.



Returværdier: Det ' ref ()' og ' unref ()'-metoder giver en ' Ingen ' returnerede type.

Eksempel: Anvendelse af metoderne 'ref()' og 'unref()' for at stoppe 'Timeout'-objektet

Dette eksempel viser den praktiske implementering af ' ref ()' og ' unref ()'-metoder til at kontrollere hændelsesløkkens standardadfærd og annullere den internt oprettede ' Tiden er gået ' objekt:

var Tiden er gået = sætTimeout ( fungere min sjov ( ) {
konsol. log ( 'Timeout er blevet indstillet til 1000ms' , 1000 ) ;
} ) ;
konsol. log ( '2.' , Tiden er gået. harRef ( ) ) ;
konsol. log ( '3.' , Tiden er gået. ref ( ) ) ;
konsol. log ( '4.' , Tiden er gået. unref ( ) ) ;
konsol. log ( '5.' , Tiden er gået. harRef ( ) ) ;
Tiden er gået. ref ( )
konsol. log ( '6.' , Tiden er gået. harRef ( ) ) ;
clearTimeout ( Tiden er gået ) ;
konsol. log ( '7. Timeout er blevet ryddet!' ) ;

Forklaringen af ​​ovenstående kodelinjer er skrevet nedenfor:

  • For det første er ' Tiden er gået objekt anvender ' sætTimeout ()” metode, der definerer en funktion til at vise den angivne opgavesætning efter den givne tidsforsinkelse. Denne metode returnerer en ' Tiden er gået ” objekt internt.
  • Dernæst ' console.log ()'-metoden bruger ' harRef ()'-metoden for at kontrollere, om ' Tiden er gået ()' objekt eksisterer eller ej. Det returnerer en 'boolesk' værdi som output.
  • Derefter vil ' console.log ()'-metoden bruger ' ref ()'-metoden for at udskrive den returnerede ' Tiden er gået ” objekt.
  • Nu, ' unref ()'-metoden deaktiverer ' Tiden er gået '-objektet, hvis det eksisterer og verificerer derefter resultatet via ' harRef ()” metode.
  • Til sidst henvises til ' Tiden er gået ' objekt igen, kontroller dets eksistens, og 'stop' derefter intervallet ved at bruge ' clearTimeout ()” metode.

Produktion

Udfør ' app .js' fil ved hjælp af den givne ' node kommando:

node app. js

Nedenstående output viser først eksistensen af ​​' Tiden er gået ” objekt og derefter deaktiverer det og stopper henholdsvis intervallet:

Det handler om at forlade ' Tiden er gået ” objekt bag i Node.js.

Konklusion

At forlade ' Tiden er gået ' objekt bruge den indbyggede ' unref ()' og ' ref ()' metoder af ' Tiden er gået ' klasse. Begge disse metoder udfører operationerne baseret på deres navne og funktionaliteter. Disse metoder håndterer hændelsesløkkens standardadfærd. Denne opskrivning har illustreret alle mulige tilgange til at forlade Timeouts i Node.js.