Hur lämnar jag timeouts bakom i Node.js?

Hur Lamnar Jag Timeouts Bakom I Node Js



I Node.js, ' Timers ”-modulen schemalägger uppgiften som kan utföras efter ett visst tidsintervall med hjälp av dess flera inbyggda metoder. Denna modul ger också en ' Paus ' klass som skapas som standard internt när den schemalagda ' setTimeout ()' eller den ' setInterval ()” körs. Den här klassen fortsätter att fungera även efter att de angivna metoderna har stoppats eller avbrutits. Därför måste användaren stoppa det på grund av vilket händelseslingan kan stoppa.

Denna uppskrivning visar hur man lämnar Timeouts bakom sig i Node.js.







Hur lämnar man timeouts bakom sig i Node.js?

För att lämna eller avbryta exekveringen av händelseslingan efter att ha avbrutit schemaläggningsmetoderna, använd ' unref ()' och den ' ref ()” metoder. den ' unref ()'-metoden begär ' Paus ” objekt för att avaktivera exekveringen av händelseslingan eftersom det inte kräver mer. Å andra sidan, ' ref ()'-metoden refererar till ' timer ”-objekt för att kontrollera om det är aktivt eller avaktiverat efter att ha anropat ” unref ()”-metoden.



den ' unref ()”-metoden stoppar exekveringen av händelseslingan om det inte finns någon annan process att köra innan den angivna återuppringningsfunktionen anropas. När allt är klart, ' ref ()'-metoden verifierar om ' Paus ” objektet har avaktiverats eller inte.



Syntax för metoden 'ref()'.

Arbetet med ' ref ()”-metoden bygger på dess nedan angivna generaliserade syntax:





Paus. ref ( )

Syntax för metoden 'unref()'.

Arbetet med ' process.unref ()”-metoden beror på dess nedan skrivna grundläggande syntax:

Paus. unref ( )

Parametrar : Båda ovanstående definiera-syntaxer behöver inga ytterligare argument för att utföra sina huvudfunktioner.



Returvärden: den ' ref ()' och ' unref ()'-metoder ger en ' Ingen ” returnerade typ.

Exempel: Användning av metoderna 'ref()' och 'unref()' för att stoppa 'Timeout'-objektet

Detta exempel visar den praktiska implementeringen av ' ref ()' och ' unref ()' metoder för att kontrollera standardbeteendet för händelseslingan och avbryta den internt skapade ' Paus ' objekt:

var Paus = setTimeout ( fungera myFun ( ) {
trösta. logga ( 'Timeout har ställts in på 1000ms' , 1000 ) ;
} ) ;
trösta. logga ( '2.' , Paus. harRef ( ) ) ;
trösta. logga ( '3.' , Paus. ref ( ) ) ;
trösta. logga ( '4.' , Paus. unref ( ) ) ;
trösta. logga ( '5.' , Paus. harRef ( ) ) ;
Paus. ref ( )
trösta. logga ( '6.' , Paus. harRef ( ) ) ;
clearTimeout ( Paus ) ;
trösta. logga ( '7. Timeout har raderats!' ) ;

Förklaringen av ovanstående kodrader är skriven nedan:

  • För det första, ' Paus ' objekt tillämpar ' setTimeout ()” metod som definierar en funktion för att visa den specificerade uppgiftssatsen efter den givna tidsfördröjningen. Denna metod returnerar en ' Paus ” objekt internt.
  • Därefter ' console.log ()'-metoden använder ' harRef ()”-metoden för att kontrollera om Paus ()” objektet existerar eller inte. Den returnerar ett 'booleskt' värde som en utdata.
  • Efter det kommer ' console.log ()'-metoden använder ' ref ()'-metoden för att skriva ut den returnerade ' Paus ” objekt.
  • Nu den ' unref ()'-metoden inaktiverar ' Paus ”-objekt om det finns och verifierar sedan resultatet via ” harRef ()”-metoden.
  • Slutligen, hänvisa till ' Paus '-objektet igen, kontrollera dess existens och 'stoppa' sedan intervallet med hjälp av ' clearTimeout ()”-metoden.

Produktion

Utför ' app .js'-fil med den givna ' nod ” kommando:

nod app. js

Utdata nedan visar först förekomsten av ' Paus ” objekt och sedan avaktiverar det och stoppar intervallet respektive:

Det handlar om att lämna ' Paus ” objekt bakom i Node.js.

Slutsats

Att lämna ' Paus ' objekt använd den inbyggda ' unref ()' och den ' ref ()' metoder för ' Paus ' klass. Båda dessa metoder utför operationerna baserat på deras namn och funktioner. Dessa metoder hanterar standardbeteendet för händelseslingan. Denna uppskrivning har illustrerat alla möjliga tillvägagångssätt för att lämna Timeouts bakom sig i Node.js.