Kaip „Node.js“ palikti skirtąjį laiką?

Kaip Node Js Palikti Skirtaji Laika



„Node.js“ Laikmačiai “ modulis suplanuoja užduotį, kurią galima atlikti po konkretaus laiko intervalo, naudojant kelis integruotus metodus. Šis modulis taip pat suteikia „ Laikas baigėsi “ klasė, kuri pagal numatytuosius nustatymus sukuriama viduje, kai suplanuota “ setTimeout ()' arba ' setInterval ()“ vykdo. Ši klasė veikia ir toliau, net kai nurodyti metodai buvo sustabdyti arba atšaukti. Taigi vartotojas turi jį sustabdyti, dėl ko įvykio kilpa gali sustoti.

Šiame įraše bus parodyta, kaip Node.js palikti skirtąjį laiką.







Kaip „Node.js“ palikti skirtąjį laiką?

Norėdami išeiti arba atšaukti įvykio ciklo vykdymą atšaukę planavimo metodus, naudokite „ unref ()' ir ' ref ()“ metodus. „ unref ()“ metodas reikalauja „ Laikas baigėsi “ objektą, kad išjungtumėte įvykio ciklo vykdymą, nes tam daugiau nereikia. Kita vertus, „ ref ()“ metodas nurodo „ laikmatis “ objektas, skirtas patikrinti, ar jis aktyvus, ar išjungtas iškvietus „ unref ()“ metodą.



unref ()“ metodas sustabdo įvykio ciklo vykdymą, jei prieš iškviečiant nurodytą atgalinio skambinimo funkciją nėra jokio kito proceso. Kai viskas bus padaryta, „ ref ()“ metodas patikrina, ar „ Laikas baigėsi “ objektas buvo išjungtas ar ne.



Metodo „ref()“ sintaksė

ref ()“ metodas remiasi toliau nurodyta apibendrinta sintaksė:





laikas baigėsi. ref ( )

Metodo „unref()“ sintaksė

procesas.unref ()“ metodas priklauso nuo toliau nurodytos pagrindinės sintaksės:

laikas baigėsi. unref ( )

Parametrai : abiem aukščiau nurodytoms apibrėžties sintaksėms nereikia jokių papildomų argumentų, kad jos galėtų atlikti pagrindines funkcijas.



Grąžinimo vertės: ref ()“ ir „ unref ()“ metodai suteikia „ Nė vienas “ grąžintas tipas.

Pavyzdys: „ref()“ ir „unref()“ metodų taikymas norint sustabdyti objektą „Timeout“

Šis pavyzdys parodo praktinį „ ref ()“ ir „ unref ()“ metodus, skirtus kontroliuoti numatytąjį įvykio ciklo elgesį ir atšaukti viduje sukurtą „ Laikas baigėsi “ objektas:

buvo Laikas baigėsi = setTimeout ( funkcija myFun ( ) {
konsolė. žurnalas ( „Laikas nustatytas 1000 ms“ , 1000 ) ;
} ) ;
konsolė. žurnalas ( '2.' , Laikas baigėsi. hasRef ( ) ) ;
konsolė. žurnalas ( '3.' , Laikas baigėsi. ref ( ) ) ;
konsolė. žurnalas ( '4.' , Laikas baigėsi. unref ( ) ) ;
konsolė. žurnalas ( '5.' , Laikas baigėsi. hasRef ( ) ) ;
Laikas baigėsi. ref ( )
konsolė. žurnalas ( '6.' , Laikas baigėsi. hasRef ( ) ) ;
clearTimeout ( Laikas baigėsi ) ;
konsolė. žurnalas ( '7. Skirtasis laikas pašalintas!' ) ;

Aukščiau pateiktų kodo eilučių paaiškinimas parašytas žemiau:

  • Pirma, „ Laikas baigėsi ' objektas taiko ' setTimeout ()“ metodas, apibrėžiantis funkciją, rodančią nurodytą užduoties sakinį po nurodyto laiko delsos. Šis metodas grąžina „ Laikas baigėsi “ objektas viduje.
  • Toliau „ console.log ()“ metodas naudoja „ hasRef ()“ metodas patikrinti, ar „ Laikas baigėsi ()“ objektas egzistuoja ar ne. Jis grąžina 'bulio' reikšmę kaip išvestį.
  • Po to „ console.log ()“ metodas naudoja „ ref ()“ būdas spausdinti grąžintą „ Laikas baigėsi “ objektas.
  • Dabar „ unref ()“ metodas išjungia „ Laikas baigėsi “ objektą, jei jis egzistuoja, tada patikrina rezultatą naudodami „ hasRef ()“ metodą.
  • Galiausiai žr. „ Laikas baigėsi “ objektą dar kartą, patikrindami jo egzistavimą, tada „sustabdykite“ intervalą naudodami „ clearTimeout ()“ metodą.

Išvestis

Vykdykite ' programėlė .js“ failą naudodami nurodytą „ mazgas “ komanda:

mazgo programa. js

Žemiau pateikta išvestis pirmiausia parodo, kad egzistuoja „ Laikas baigėsi “ objektą, tada jį išjungia ir atitinkamai sustabdo intervalą:

Tai viskas apie palikimą Laikas baigėsi “ objektas, esantis Node.js.

Išvada

Norėdami palikti ' Laikas baigėsi 'objektas naudokite įmontuotą' unref ()' ir ' ref ()“ metodai Laikas baigėsi ' klasė. Abu šie metodai atlieka operacijas pagal jų pavadinimus ir funkcijas. Šie metodai apdoroja numatytąjį įvykio ciklo elgesį. Šis įrašas iliustruoja visus galimus būdus, kaip Node.js palikti skirtąjį laiką.