Hogyan lehet az időtúllépéseket hátrahagyni a Node.js-ben?

Hogyan Lehet Az Idotullepeseket Hatrahagyni A Node Js Ben



A Node.js-ben a „ Időzítők ” modul a több beépített metódusa segítségével ütemezi az adott időintervallum után végrehajtható feladatot. Ez a modul egy „ Időtúllépés ' osztály, amely alapértelmezés szerint belsőleg jön létre, amikor az ütemezett ' setTimeout ()' vagy a ' setInterval ()” végrehajtja. Ez az osztály a megadott metódusok leállítása vagy törlése után is tovább működik. Ezért a felhasználónak le kell állítania, ami miatt az eseményhurok leállhat.

Ez az írás bemutatja, hogyan lehet az időtúllépéseket hátrahagyni a Node.js-ben.







Hogyan lehet az időtúllépéseket hátrahagyni a Node.js-ben?

Az ütemezési metódusok törlése után az eseményhurok végrehajtásának elhagyásához vagy megszakításához használja a „ unref ()' és a ' ref ()” módszereket. A ' unref ()” metódus kéri a „ Időtúllépés ” objektumot az eseményhurok végrehajtásának deaktiválásához, mert nem igényel többet. Másrészt a „ ref ()” módszer a „ időzítő ' objektum annak ellenőrzésére, hogy az aktív vagy deaktivált a ' unref ()” módszerrel.



A ' unref ()” metódus leállítja az eseményhurok végrehajtását, ha nincs más folyamat, amelyet a megadott visszahívási függvény meghívása előtt kell futtatni. Ha minden elkészült, a „ ref ()” módszer ellenőrzi, hogy a „ Időtúllépés ” objektum deaktiválva van-e vagy sem.



A „ref()” metódus szintaxisa

A „ ref ()” metódus az alábbiakban megadott általánosított szintaxisára támaszkodik:





időtúllépés. ref ( )

Az “unref()” metódus szintaxisa

A „ folyamat.unref ()” metódus az alább leírt alapvető szintaxisától függ:

időtúllépés. unref ( )

Paraméterek : Mindkét fenti define-szintaxisnak nincs szüksége további argumentumra a fő funkcióik végrehajtásához.



Visszatérési értékek: A ' ref ()” és „ unref ()” módszerek egy „ Egyik sem ” visszaadott típus.

Példa: „ref()” és „unref()” metódusok alkalmazása a „Timeout” objektum leállítására

Ez a példa bemutatja a „ ref ()” és „ unref ()' módszerek az eseményhurok alapértelmezett viselkedésének szabályozására és a belsőleg létrehozott ' Időtúllépés ' tárgy:

volt Időtúllépés = setTimeout ( funkció myFun ( ) {
konzol. log ( 'Az időtúllépés 1000 ms-ra lett beállítva' , 1000 ) ;
} ) ;
konzol. log ( '2.' , Időtúllépés. hasRef ( ) ) ;
konzol. log ( '3.' , Időtúllépés. ref ( ) ) ;
konzol. log ( '4.' , Időtúllépés. unref ( ) ) ;
konzol. log ( '5.' , Időtúllépés. hasRef ( ) ) ;
Időtúllépés. ref ( )
konzol. log ( '6.' , Időtúllépés. hasRef ( ) ) ;
clearTimeout ( Időtúllépés ) ;
konzol. log ( '7. Az időtúllépés törölve lett!' ) ;

A fenti kódsorok magyarázata alább olvasható:

  • Először is a „ Időtúllépés ' objektum alkalmazza a ' setTimeout ()” metódus, amely egy függvényt definiál a megadott feladatutasítás megjelenítésére a megadott időkésleltetés után. Ez a metódus egy ' Időtúllépés ” objektum belsőleg.
  • Ezután a „ console.log ()” módszer a „ hasRef ()” módszerrel ellenőrizheti, hogy a „ Időtúllépés ()” objektum létezik-e vagy sem. Kimenetként egy „boolean” értéket ad vissza.
  • Ezt követően a „ console.log ()” módszer a „ ref ()' módszer a visszaküldött ' Időtúllépés ' tárgy.
  • Most a ' unref ()” metódus deaktiválja a „ Időtúllépés ” objektumot, ha létezik, majd ellenőrzi az eredményt a „ hasRef ()” módszerrel.
  • Végül hivatkozzon a „ Időtúllépés ” objektumot újra, ellenőrizve a létezését, majd „állítsa le” az intervallumot a „ clearTimeout ()” módszerrel.

Kimenet

Hajtsa végre a „ kb .js” fájl a megadott „ csomópont 'parancs:

csomópont alkalmazás. js

Az alábbi kimenet először a „ Időtúllépés ” objektumot, majd deaktiválja és leállítja az intervallumot:

Ez minden arról szól, hogy elhagyja a ' Időtúllépés ” objektum mögött a Node.js-ben.

Következtetés

elhagyni a „ Időtúllépés ' objektum használja a beépített ' unref ()' és a ' ref ()” módszerei a „ Időtúllépés ' osztály. Mindkét módszer a nevük és funkcióik alapján hajtja végre a műveleteket. Ezek a módszerek kezelik az eseményhurok alapértelmezett viselkedését. Ez az írás bemutatja az összes lehetséges megközelítést az időtúllépések hátrahagyására a Node.js-ben.