Paano Mag-iwan ng Mga Timeout sa Node.js?

Paano Mag Iwan Ng Mga Timeout Sa Node Js



Sa Node.js, ang “ Mga timer ” Ang module ay nag-iskedyul ng gawain na maaaring gawin pagkatapos ng isang tiyak na agwat ng oras sa tulong ng ilang mga built-in na pamamaraan. Ang modyul na ito ay nagbibigay din ng ' Timeout ' klase na nilikha bilang default sa loob kapag ang naka-iskedyul na ' setTimeout ()' o ang ' setInterval ()” executes. Ang klase na ito ay patuloy na gumagana kahit na matapos ihinto o kanselahin ang mga tinukoy na pamamaraan. Samakatuwid, ang user ay kinakailangan upang ihinto ito dahil sa kung saan ang kaganapan loop ay maaaring huminto.

Ipapakita ng write-up na ito kung paano iwanan ang Timeouts sa Node.js.







Paano Mag-iwan ng Mga Timeout sa Node.js?

Upang iwanan o kanselahin ang pagpapatupad ng loop ng kaganapan pagkatapos kanselahin ang mga pamamaraan ng pag-iiskedyul, gamitin ang ' unref ()' at ang ' ref ()' paraan. Ang ' unref ()' na pamamaraan ay humihiling ng ' Timeout ” object na i-deactivate ang event loop execution dahil hindi na ito nangangailangan. Sa kabilang banda, ang ' ref ()' na pamamaraan ay tumutukoy sa ' timer ” object para sa pagsuri kung ito ay aktibo o naka-deactivate pagkatapos tawagan ang “ unref ()” paraan.



Ang ' unref ()' na pamamaraan ay huminto sa pagpapatupad ng loop ng kaganapan kung walang ibang proseso na tatakbo bago tawagan ang tinukoy na function ng callback. Kapag tapos na ang lahat, ang ' ref ()' na pamamaraan ay nagpapatunay kung ang ' Timeout ” object ay na-deactivate o hindi.



Syntax ng 'ref()' Method

Ang paggawa ng ' ref ()' na pamamaraan ay umaasa sa nakasaad sa ibaba na pangkalahatang syntax:





timeout. ref ( )

Syntax ng Paraang 'unref()'.

Ang paggawa ng ' proseso.unref ()' na pamamaraan ay nakasalalay sa nakasulat sa ibabang pangunahing syntax nito:

timeout. unref ( )

Mga Parameter : Pareho sa nabanggit sa itaas na mga define-syntax ay hindi nangangailangan ng anumang karagdagang argumento upang maisagawa ang kanilang pangunahing paggana.



Mga Halaga ng Pagbabalik: Ang ' ref ()' at ' unref ()' ang mga pamamaraan ay nagbibigay ng ' wala ” ibinalik na uri.

Halimbawa: Paglalapat ng “ref()” at “unref()” na Paraan para Ihinto ang “Timeout” Object

Ipinapakita ng halimbawang ito ang praktikal na pagpapatupad ng ' ref ()' at ' unref ()' para makontrol ang default na gawi ng event loop at kanselahin ang panloob na nilikha ' Timeout ” bagay:

ay Timeout = setTimeout ( function myFun ( ) {
console. log ( 'Nakatakda ang timeout para sa 1000ms' , 1000 ) ;
} ) ;
console. log ( '2.' , Timeout. mayRef ( ) ) ;
console. log ( '3.' , Timeout. ref ( ) ) ;
console. log ( '4.' , Timeout. unref ( ) ) ;
console. log ( '5.' , Timeout. mayRef ( ) ) ;
Timeout. ref ( )
console. log ( '6.' , Timeout. mayRef ( ) ) ;
clearTimeout ( Timeout ) ;
console. log ( '7. Na-clear na ang timeout !' ) ;

Ang paliwanag ng mga linya ng code sa itaas ay nakasulat sa ibaba:

  • Una, ang ' Timeout Inilalapat ng bagay ang ' setTimeout ()” na pamamaraan na tumutukoy sa isang function upang ipakita ang tinukoy na pahayag ng gawain pagkatapos ng ibinigay na pagkaantala ng oras. Ang pamamaraang ito ay nagbabalik ng ' Timeout ” object sa loob.
  • Susunod, ang ' console.log ()' na pamamaraan ay gumagamit ng ' mayRef ()' na paraan upang suriin kung ang ' Timeout ()” ang bagay ay umiiral o wala. Nagbabalik ito ng 'boolean' na halaga bilang isang output.
  • Pagkatapos nito, ang ' console.log ()' na pamamaraan ay gumagamit ng ' ref ()' na paraan upang i-print ang ibinalik na ' Timeout ” bagay.
  • Ngayon ang ' unref ()' na pamamaraan ay nagde-deactivate sa ' Timeout ” object kung mayroon ito at pagkatapos ay i-verify ang resulta sa pamamagitan ng “ mayRef ()” paraan.
  • Panghuli, banggitin ang ' Timeout ” object muli, sinusuri ang pagkakaroon nito, at pagkatapos ay 'itigil' ang pagitan gamit ang ' clearTimeout ()” paraan.

Output

Isagawa ang ' app .js' na file gamit ang ibinigay na ' node ” utos:

node app. js

Ang output sa ibaba ay unang nagpapakita ng pagkakaroon ng ' Timeout ” object at pagkatapos ay i-deactivate ito at ihihinto ang agwat ayon sa pagkakabanggit:

Iyon ay tungkol sa pag-alis sa ' Timeout ” object sa likod ng Node.js.

Konklusyon

Upang iwanan ang ' Timeout 'gamitin ang object ng built-in' unref ()' at ang ' ref ()' mga pamamaraan ng ' Timeout ” klase. Ang parehong mga pamamaraan ay gumaganap ng mga operasyon batay sa kanilang mga pangalan at pag-andar. Pinangangasiwaan ng mga paraang ito ang default na gawi ng event loop. Ang write-up na ito ay naglalarawan ng lahat ng posibleng paraan upang iwanan ang Timeouts sa Node.js.