V Node.js je „ Časovače ” modul naplánuje úlohu, ktorú je možné vykonať po určitom časovom intervale pomocou niekoľkých vstavaných metód. Tento modul tiež poskytuje „ Čas vypršal ” trieda, ktorá je štandardne vytvorená interne pri plánovanom “ setTimeout ()' alebo ' setInterval ()“ vykoná. Táto trieda pokračuje v práci aj po zastavení alebo zrušení špecifikovaných metód. Od používateľa sa teda vyžaduje, aby ho zastavil, čím sa môže zastaviť slučka udalostí.
Tento zápis ukáže, ako ponechať časové limity v Node.js.
Ako ponechať časové limity v Node.js?
Ak chcete opustiť alebo zrušiť vykonávanie slučky udalostí po zrušení metód plánovania, použite „ neref ()“ a „ ref ()“ metódy. ' neref ()“ metóda vyžaduje „ Čas vypršal ” objekt na deaktiváciu vykonávania slučky udalostí, pretože už to nevyžaduje. Na druhej strane, „ ref ()“ metóda odkazuje na „ časovač ” objekt na kontrolu, či je aktívny alebo deaktivovaný po zavolaní “ neref ()“ metóda.
' neref ()” metóda zastaví vykonávanie slučky udalostí, ak neexistuje žiadny iný proces, ktorý by sa mal spustiť pred volaním zadanej funkcie spätného volania. Keď je všetko hotové, „ ref ()“ metóda overuje, či „ Čas vypršal ” objekt bol deaktivovaný alebo nie.
Syntax metódy „ref()“.
Fungovanie „ ref ()“ metóda sa spolieha na svoju nižšie uvedenú zovšeobecnenú syntax:
čas vypršal. ref ( )
Syntax metódy „unref()“.
Fungovanie „ proces.unref ()“ metóda závisí od jej nižšie napísanej základnej syntaxe:
čas vypršal. neref ( )Parametre : Obidve vyššie definované syntaxe nepotrebujú na vykonávanie svojej hlavnej funkcie žiadny ďalší argument.
Návratové hodnoty: ' ref ()“ a „ neref ()“ metódy poskytujú „ žiadne ” vrátený typ.
Príklad: Použitie metód „ref()“ a „unref()“ na zastavenie objektu „Timeout“.
Tento príklad ukazuje praktickú implementáciu „ ref ()“ a „ neref ()“ metódy na ovládanie predvoleného správania slučky udalostí a zrušenie interne vytvoreného „ Čas vypršal “objekt:
bol Čas vypršal = setTimeout ( funkciu myFun ( ) {konzoly. log ( 'Časový limit bol nastavený na 1000 ms' , 1000 ) ;
} ) ;
konzoly. log ( '2.' , Čas vypršal. máRef ( ) ) ;
konzoly. log ( '3.' , Čas vypršal. ref ( ) ) ;
konzoly. log ( '4.' , Čas vypršal. neref ( ) ) ;
konzoly. log ( '5.' , Čas vypršal. máRef ( ) ) ;
Čas vypršal. ref ( )
konzoly. log ( '6.' , Čas vypršal. máRef ( ) ) ;
clearTimeout ( Čas vypršal ) ;
konzoly. log ( '7. Časový limit bol vymazaný!' ) ;
Vysvetlenie vyššie uvedených riadkov kódu je napísané nižšie:
- Po prvé, „ Čas vypršal ” objekt aplikuje “ setTimeout ()” metóda, ktorá definuje funkciu na zobrazenie zadaného príkazu úlohy po danom časovom oneskorení. Táto metóda vráti „ Čas vypršal “objekt interne.
- Ďalej, „ konzola.log ()“ metóda používa „ máRef ()“ metóda na kontrolu, či „ Čas vypršal ()“ objekt existuje alebo nie. Ako výstup vráti „boolovskú“ hodnotu.
- Potom sa „ konzola.log ()“ metóda používa „ ref ()“ metóda na vytlačenie vráteného „ Čas vypršal “objekt.
- Teraz, „ neref ()“ metóda deaktivuje „ Čas vypršal ” objekt, ak existuje, a potom overí výsledok cez “ máRef ()“ metóda.
- Nakoniec sa odvolávajte na „ Čas vypršal ” znova skontrolujte jeho existenciu a potom „zastavte“ interval pomocou „ clearTimeout ()“ metóda.
Výkon
Vykonajte „ aplikácie .js“ pomocou daného „ uzol
Nižšie uvedený výstup najskôr ukazuje existenciu „ Čas vypršal ” objekt a potom ho deaktivuje a zastaví interval:
To je všetko o opustení „ Čas vypršal ” objekt za v Node.js.
Záver
Opustiť „ Čas vypršal ” objekt používa vstavaný “ neref ()“ a „ ref ()“ metódy „ Čas vypršal ' trieda. Obe tieto metódy vykonávajú operácie na základe ich názvov a funkcií. Tieto metódy spracovávajú predvolené správanie slučky udalostí. Tento zápis ilustroval všetky možné prístupy k opusteniu časových limitov v Node.js.