Kuinka keskeyttää suoritus Node.js:ssä?

Kuinka Keskeyttaa Suoritus Node Js Ssa



Viive tai tauko koodin suorittamisessa tarkoittaa, että käyttäjä haluaa suorittaa sen tietyn ajan kuluttua. Sillä on tärkeä rooli, kun se odottaa API-vastausta ja ottaa käyttäjän syötteen ennen siirtymistä. Lisäksi sen avulla käyttäjät voivat ajoittaa ohjelman suorittamisen hyvin organisoidulla tavalla vaatimusten mukaisesti.

Tämä opas näyttää esimerkin, kuinka Node.js:n suorittaminen keskeytetään.

Esitiedot: Ennen kuin siirryt minkä tahansa menetelmän käytännön toteuttamiseen, luo ensin ' .js ”-tiedoston minkä tahansa nimen ja kirjoita siihen kaikki lähdekoodi. Täällä olemme luoneet ' index.js ” tiedosto.







Kuinka keskeyttää suoritus Node.js:ssä?

Tässä osiossa luetellaan kaikki mahdolliset tavat keskeyttää suorituksen Node.js:ssä:



Aloitetaan 'setInterval()' -menetelmällä.



Tapa 1: Keskeytä suoritus Node.js:ssä komennolla 'setInterval()'

Ennalta määritetty ' setInterval() ” -menetelmä keskeyttää määritetyn koodilohkon suorittamisen tietyksi aikaväliksi ja suorittaa sen tietyn viiveen jälkeen äärettömän ajan. Se on ' Ajastimet ” moduuli, joka ajoittaa ohjelman suorittamisen vaatimusten mukaisesti. Se ei pysähdy ennen kuin siihen liittyy ' clearInterval() ” -menetelmää vedetään.





Seuraava koodilohko keskeyttää tietyn toiminnon suorittamisen määritetylle viiveelle:

konst setTimeID = setInterval ( myFunc, 1000 ) ;

toiminto myFunc ( ) {

konsoli. Hirsi ( 'Tervetuloa Linuxhintiin!' )

}

Yllä olevassa koodinpätkässä:



  • 'setTimeID'-muuttuja käyttää ' setInterval() ” -menetelmä, joka määrittää kohdistetun funktion ja aikaviiveen ensimmäiseksi ja toiseksi argumentiksi. Se suorittaa annetun toiminnon tietyn viiveen jälkeen.
  • Funktiomäärittelyn sisällä ' console.log() ” -menetelmä näyttää lainatun lausekkeen äärettömästi konsolissa annetun millisekuntien määrän jälkeen.

Lähtö

Aloita ' index.js '-tiedosto käyttämällä 'solmu'-avainsanaa:

solmuindeksi. js

Alla oleva tulos näyttää, että määritetyn toiminnon suoritus keskeytyy tietyn viiveen ajaksi:

Tapa 2: Keskeytä suoritus Node.js:ssä komennolla 'setTimeout()'

' Ajastimet ' moduuli tarjoaa myös toisen ajoitustavan ' setTimeout() ” keskeyttää ohjelman tietyn osan suorittamisen. Tämä menetelmä keskeyttää halutun koodilohkon suorituksen ja suorittaa sen vain kerran tietyn viiveen jälkeen. Sen toiminta voidaan pysäyttää annetussa aikavälissä käyttämällä ' clearTimeout() ”menetelmä.

Tässä sen käytännön toteutus:

konst myTimeout = setTimeout ( myFunc, 2000 ) ;

toiminto myFunc ( ) {

konsoli. Hirsi ( 'Tervetuloa Linuxhintiin!' )

}

Yllä olevilla koodiriveillä:

  • 'myTimeout'-muuttuja käyttää ' setTimeout() ' -menetelmää tietyn toiminnon suorittamiseksi vain kerran määritetyn 'viiveen' jälkeen.
  • Toiminnon sisällä ' console.log() ” -menetelmä näyttää lainatun tekstilausekkeen konsolissa.

Lähtö

Suorita ' index.js 'tiedosto:

solmuindeksi. js

Alla oleva suoritus suorittaa määritetyn toiminnon tietyn millisekuntien määrän (viive) jälkeen:

Tapa 3: Keskeytä suoritus Node.js:ssä käyttämällä 'async/await'

Kohdassa node.js on ' lupaus ” on toimenpide, joka voidaan joko ratkaista tai hylätä. Se suorittaa pitkäkestoisia toimintoja asynkronisesti sen sijaan, että se pysäyttäisi jäljellä olevan ohjelman suorittamisen. Se voidaan helposti kirjoittaa tai luoda käyttämällä 'async' ja 'wait' avainsanoja.

' asynk ' palauttaa lupauksen ja ' odottaa '-avainsanaa käytetään 'asynkronisen'-funktion sisällä keskeyttämään sen suorittaminen, kunnes lupaus on ratkaistu.

Alla oleva koodilohko kirjoittaa 'lupauksen' ja käyttää 'async'- ja 'wait'-avainsanoja palauttaakseen lupauksen ja keskeyttääkseen annetun funktion suorituksen, kunnes lupaus on täytetty:

toiminnan viive ( aika ) {

palata Uusi Lupaus ( ratkaista => setTimeout ( ratkaisu, aika ) ) ;

}

demo ( ) ;

async-funktion esittely ( ) {

odota viivettä ( 2000 ) ;

konsoli. Hirsi ( 'Linux' ) ;

}

Yllä olevien koodirivien selitys on tässä:

  • Määritä ensin funktio nimeltä ' viive() ' ohittaa 'aika'-parametrin.
  • Tämän toiminnon sisällä ' Lupaus() ' rakentaja luo uuden lupauksen ottaen ' ratkaista ”-nuoli toimii argumenttina. 'Ratkaise' -nuolitoiminto soveltaa edelleen ' setTimeout() ” -menetelmä suorittaa tietyn funktion määritetyn viiveen jälkeen, kun lupaus on ratkaistu.
  • Soita seuraavaksi ' demo () ”-toiminto.
  • Sen jälkeen ' asynk '-avainsana määrittää 'demo()'-funktion, joka näyttää 'merkkijonon', joka on määritetty ' console.log() ” -menetelmää annetun viiveen jälkeen.

Lähtö

Suorita ' index.js 'tiedosto:

solmusovellus. js

Tulos näyttää, että määritetty toiminto suoritetaan tietyn viiveen jälkeen, kun lupaus on ratkaistu:

Tapa 4: Keskeytä suoritus Node.js:ssä käyttämällä 'sleep-promise'

Toinen hyödyllinen tapa keskeyttää Node.js:n suorittaminen asynkronisesti on ' uni-lupaus ”paketti. Tämä on ulkoinen paketti, joka ratkaisee lupauksen annetun viiveen jälkeen.

Ennen kuin käytät 'sleep-promise' -pakettia, asenna se ensin '' npm (solmupakettien hallinta)':

npm asenna nukkumaan - lupaus

Yllä oleva komento lisäsi onnistuneesti 'sleep-promise' -paketin nykyiseen Node.js-projektiin:

Käytä nyt ' uni-lupaus '-paketti keskeyttää määritetyn toiminnon suorittamisen:

konst nukkua = vaatia ( 'uni-lupaus' ) ;

( asynk ( ) => {

konsoli. Hirsi ( 'Ohjelma alkoi...' ) ;

odottaa unta ( 3000 ) ;

konsoli. Hirsi ( ' \n Linuxvinkki! tulostetaan kolmen sekunnin kuluttua.' ) ;

} ) ( ) ;

Yllä olevassa koodinpätkässä:

  • ' vaatia() ' -menetelmä tuo projektiin asennetun 'sleep-promise' -paketin.
  • ' asynk '-avainsana määrittää tyhjän nuolifunktion, joka käyttää ensin ' console.log() ' -menetelmä tietyn lausunnon näyttämiseksi. Sen jälkeen se käyttää ' nukkua() '-toiminto '' odottaa ”-avainsana suorittaa jäljellä olevan koodilohkon tietyn viiveen jälkeen.
  • ' () ” suluissa kutsutaan määritettyä tyhjän nuolifunktiota.

Lähtö

Suorita ' index.js 'tiedosto:

solmuindeksi. js

Seuraava kuva osoittaa, että 'sleep()'-toiminto suorittaa tietyn koodilohkon määritetyn viiveen jälkeen:

Siinä on kyse Node.js:n suorituksen keskeyttämisestä.

Johtopäätös

Voit keskeyttää suorituksen Node.js:ssä käyttämällä sisäänrakennettua ' setInterval() ”, tai ” setTimeout() ”Ajastimet-moduulin menetelmät. Lisäksi tämä tehtävä voidaan suorittaa myös asynkronisesti käyttämällä ' async/wait ' tai ' uni-lupaus ”paketti. Kaikki nämä lähestymistavat ovat yksinkertaisia ​​käyttää. Käyttäjä voi toteuttaa minkä tahansa niistä vaatimusten perusteella. Tässä oppaassa on käytännössä selitetty kaikki mahdolliset tavat keskeyttää suorituksen Node.js:ssä (JavaScript).