Cum să lăsați timeout-uri în urmă în Node.js?

Cum Sa Lasati Timeout Uri In Urma In Node Js



În Node.js, „ Cronometre ” modulul programează sarcina care poate fi efectuată după un anumit interval de timp cu ajutorul mai multor metode încorporate. Acest modul oferă, de asemenea, un „ Pauză ” clasă care este creată implicit intern atunci când este programată ” setTimeout ()' sau ' setInterval ()” execută. Această clasă continuă să funcționeze chiar și după ce metodele specificate au fost oprite sau anulate. Prin urmare, utilizatorului i se cere să o oprească din cauza faptului că bucla de evenimente se poate opri.

Acest articol va arăta cum să lăsați Timeouts în urmă în Node.js.







Cum să lăsați timeout-uri în urmă în Node.js?

Pentru a părăsi sau anula execuția buclei de evenimente după anularea metodelor de programare, utilizați „ neref ()' si ' ref ()” metode. „ neref ()” metoda solicită „ Pauză ” obiect pentru a dezactiva execuția buclei de evenimente deoarece nu necesită mai mult. Pe de altă parte, „ ref ()” metoda se referă la „ temporizator ” obiect pentru a verifica dacă este activ sau dezactivat după apelarea „ neref ()” metoda.



neref ()” oprește execuția buclei de evenimente dacă nu există niciun alt proces de rulat înainte de a apela funcția de apel invers specificată. Odată ce toate sunt gata, „ ref ()” metoda verifică dacă „ Pauză ” obiectul a fost dezactivat sau nu.



Sintaxa metodei „ref()”.

Funcționarea „ ref ()” metoda se bazează pe sintaxa generalizată menționată mai jos:





pauză. ref ( )

Sintaxa metodei „unref()”.

Funcționarea „ proces.unref ()” metoda depinde de sintaxa de bază scrisă mai jos:

pauză. neref ( )

Parametrii : Ambele sintaxe definite de mai sus nu au nevoie de niciun argument suplimentar pentru a-și îndeplini funcționalitatea principală.



Valori returnate: ref ()' și ' neref ()” metodele oferă un „ Nici unul ” a returnat tipul.

Exemplu: aplicarea metodelor „ref()” și „unref()” pentru a opri obiectul „Timeout”

Acest exemplu arată implementarea practică a „ ref ()' și ' neref ()” metode pentru a controla comportamentul implicit al buclei de evenimente și pentru a anula „creată intern” Pauză ' obiect:

a fost Pauză = setTimeout ( funcţie myFun ( ) {
consolă. Buturuga ( „Timeout a fost setat pentru 1000 ms” , 1000 ) ;
} ) ;
consolă. Buturuga ( '2.' , Pauză. areRef ( ) ) ;
consolă. Buturuga ( '3.' , Pauză. ref ( ) ) ;
consolă. Buturuga ( '4.' , Pauză. neref ( ) ) ;
consolă. Buturuga ( '5.' , Pauză. areRef ( ) ) ;
Pauză. ref ( )
consolă. Buturuga ( '6.' , Pauză. areRef ( ) ) ;
clearTimeout ( Pauză ) ;
consolă. Buturuga ( '7. Timeout a fost eliminat!' ) ;

Explicația liniilor de cod de mai sus este scrisă mai jos:

  • În primul rând, „ Pauză ' obiectul aplică ' setTimeout ()” metodă care definește o funcție pentru a afișa instrucțiunea sarcinii specificate după întârzierea dată. Această metodă returnează un „ Pauză ” obiect în interior.
  • În continuare, „ console.log ()” metoda folosește „ areRef ()” pentru a verifica dacă „ Pauză ()” obiect există sau nu. Returnează o valoare „booleană” ca ieșire.
  • După aceea, „ console.log ()” metoda folosește „ ref ()” metoda pentru a tipări „” returnat Pauză ' obiect.
  • Acum ' neref ()” dezactivează metoda „ Pauză ” obiect dacă există și apoi verifică rezultatul prin intermediul „ areRef ()” metoda.
  • În cele din urmă, faceți referire la „ Pauză ” obiect din nou, verificându-i existența, apoi „opriți” intervalul folosind „ clearTimeout ()” metoda.

Ieșire

Executați „ aplicația .js” folosind fișierul „ nod ”comandă:

aplicația nodului. js

Rezultatul de mai jos arată mai întâi existența „ Pauză ” obiect și apoi îl dezactivează și, respectiv, oprește intervalul:

Asta înseamnă să părăsești „ Pauză ” obiect în spatele în Node.js.

Concluzie

Pentru a părăsi „ Pauză „Obiectul folosește „încorporat” neref ()' si ' ref ()” metodele „ Pauză ” clasa. Ambele metode efectuează operațiunile pe baza numelor și funcționalităților lor. Aceste metode gestionează comportamentul implicit al buclei de evenimente. Acest articol a ilustrat toate abordările posibile pentru a lăsa în urmă Timeouts în Node.js.