Î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
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.