Kaip pristabdyti vykdymą Node.js?

Kaip Pristabdyti Vykdyma Node Js



Kodo vykdymo delsa arba pauzė reiškia, kad vartotojas nori jį vykdyti praėjus tam tikram laiko tarpui. Jis atlieka svarbų vaidmenį laukiant API atsakymo ir priimant vartotojo įvestį prieš judant. Be to, tai taip pat leidžia vartotojams planuoti programos vykdymą gerai organizuotu būdu pagal reikalavimus.

Šiame vadove bus parodytas pavyzdys, kaip pristabdyti vykdymą Node.js.

Būtinos sąlygos: Prieš pereidami prie praktinio bet kokio metodo įgyvendinimo, pirmiausia sukurkite „ .js “ bet kokio pavadinimo failą ir į jį įrašykite visą šaltinio kodą. Čia mes sukūrėme „ index.js “ failą.







Kaip pristabdyti vykdymą Node.js?

Šiame skyriuje pateikiami visi galimi Node.js vykdymo pristabdymo būdai:



Pradėkime nuo metodo „setInterval()“.



1 būdas: pristabdykite vykdymą Node.js naudodami „setInterval()“

Iš anksto nustatytas ' setInterval() ” metodas pristabdo nurodyto kodo bloko vykdymą tam tikram laiko intervalui ir paleidžia jį po nurodyto uždelsimo be galo daug kartų. Tai yra planavimo metodas Laikmačiai “ modulis, kuris suplanuoja programos vykdymą pagal reikalavimus. Ji nesustoja, kol nesusijusi „ clearInterval() “ naudojamas metodas.





Šis kodo blokas pristabdo nurodytos funkcijos vykdymą nurodytam delsimui:

konst setTimeID = setInterval ( myFunc, 1000 ) ;

funkcija myFunc ( ) {

konsolė. žurnalas ( 'Sveiki atvykę į Linuxhint!' )

}

Aukščiau pateiktame kodo fragmente:



  • Kintamasis „setTimeID“ naudoja „ setInterval() “ metodas, nurodantis tikslinę funkciją ir laiko delsą atitinkamai kaip pirmąjį ir antrąjį argumentus. Jis atliks nurodytą funkciją po tam tikro delsos.
  • Funkcijos apibrėžime „ console.log() “ metodas rodo kabučių teiginį be galo daug kartų konsolėje po nurodyto milisekundžių skaičiaus.

Išvestis

Pradėti „ index.js “ failą naudojant raktinį žodį „mazgas“:

mazgo indeksas. js

Žemiau pateikta išvestis rodo, kad nurodytos funkcijos vykdymas sustabdomas tam tikram delsos laikui:

2 būdas: pristabdykite vykdymą Node.js naudodami „setTimeout()“

Laikmačiai 'Modulis taip pat siūlo kitą planavimo būdą' setTimeout() “ norėdami pristabdyti konkrečios programos dalies vykdymą. Šis metodas pristabdo norimo kodo bloko vykdymą ir paleidžia jį tik vieną kartą po nurodyto laiko delsos. Jo veikimas gali būti sustabdytas per nurodytą laiko intervalą naudojant ' clearTimeout () “ metodas.

Štai jo praktinis įgyvendinimas:

konst myTimeout = setTimeout ( myFunc, 2000 m ) ;

funkcija myFunc ( ) {

konsolė. žurnalas ( 'Sveiki atvykę į Linuxhint!' )

}

Aukščiau pateiktose kodo eilutėse:

  • Kintamasis „myTimeout“ naudoja „ setTimeout() “ metodas paleisti nurodytą funkciją tik vieną kartą po nurodytos „delsos“.
  • Funkcijos viduje yra „ console.log() “ metodas rodo cituojamą teksto teiginį konsolėje.

Išvestis

Vykdykite ' index.js “ failas:

mazgo indeksas. js

Žemiau pateikta funkcija atlieka nurodytą funkciją po tam tikro milisekundžių skaičiaus (delsimo):

3 būdas: pristabdykite vykdymą Node.js naudodami „async/wait“

Node.js, „ pažadas “ – tai veiksmas, kurį galima išspręsti arba atmesti. Jis atlieka ilgai vykdomas operacijas asinchroniškai, užuot sustabdęs likusios programos vykdymą. Jį galima lengvai parašyti arba sukurti naudojant „async“ ir „laukti“ raktinius žodžius.

async “ grąžina pažadą ir “ laukti “ raktinis žodis naudojamas funkcijoje „asinchroninis“, kad pristabdytų jos vykdymą, kol pažadas bus įvykdytas.

Žemiau pateiktas kodo blokas rašo „pažadą“ ir taiko „async“ ir „wait“ raktinius žodžius, kad grąžintų pažadą ir pristabdytų nurodytos funkcijos vykdymą, kol pažadas bus įvykdytas:

funkcijos uždelsimas ( laikas ) {

grąžinti naujas Pažadas ( išspręsti => setTimeout ( sprendimas, laikas ) ) ;

}

demo ( ) ;

async funkcijos demonstracija ( ) {

laukti vėlavimo ( 2000 m ) ;

konsolė. žurnalas ( 'Linux' ) ;

}

Aukščiau pateiktų kodo eilučių paaiškinimas pateikiamas čia:

  • Pirmiausia apibrėžkite funkciją pavadinimu ' delsimas() “ perduodant parametrą „laikas“.
  • Šios funkcijos viduje yra „ Pažadas() “ konstruktorius sukuria naują pažadą, pasiimdamas “ išspręsti “ rodyklės funkcija kaip argumentas. Rodyklės funkcija „išspręsti“ toliau taiko „ setTimeout() “ metodas paleisti nurodytą funkciją po nurodyto uždelsimo, kai pažadas bus įvykdytas.
  • Tada skambinkite „ demo () ' funkcija.
  • Po to „ async ' raktinis žodis apibrėžia 'demo()' funkciją, kuri parodys 'eilutę', nurodytą ' console.log() “ metodas po nurodyto uždelsimo.

Išvestis

Paleiskite „ index.js “ failas:

mazgo programa. js

Išvestis rodo, kad nurodyta funkcija įvykdoma po tam tikro uždelsimo, kai pažadas išsprendžiamas:

4 būdas: pristabdykite vykdymą Node.js naudodami „miego pažadą“

Kitas naudingas būdas pristabdyti vykdymą Node.js asinchroniškai yra „ miego pažadas “ paketą. Tai išorinis paketas, kuris išsprendžia pažadą po nurodyto delsimo.

Prieš naudodami „miego pažado“ paketą pirmiausia įdiekite jį naudodami „ npm (mazgų paketų tvarkyklė)“:

npm įdiegti miego režimą - pažadas

Aukščiau pateikta komanda sėkmingai įtraukė paketą „miego pažadas“ dabartiniame Node.js projekte:

Dabar naudokite „ miego pažadas “ paketą, kad sustabdytumėte nurodytos funkcijos vykdymą:

konst miegoti = reikalauti ( 'miego pažadas' ) ;

( async ( ) => {

konsolė. žurnalas ( 'Programa prasidėjo...' ) ;

laukti miego ( 3000 ) ;

konsolė. žurnalas ( \n Linux užuomina! atspausdinamas po trijų sekundžių“. ) ;

} ) ( ) ;

Aukščiau pateiktame kodo fragmente:

  • reikalauti () “ metodas importuoja projekte įdiegtą „miego pažado“ paketą.
  • async ' raktinis žodis apibrėžia tuščiosios rodyklės funkciją, kuri pirmiausia naudoja ' console.log() “ metodas nurodytam teiginiui rodyti. Po to jis naudoja „ miegoti () ' funkcija su ' laukti “ raktažodį, kad atliktumėte likusį kodo bloką po nurodyto uždelsimo.
  • () “ skliausteliuose iškviečiama apibrėžta tuščios rodyklės funkcija.

Išvestis

Vykdykite ' index.js “ failas:

mazgo indeksas. js

Šioje iliustracijoje parodyta, kad funkcija „sleep()“ vykdo konkretų kodo bloką po nurodyto uždelsimo:

Tai viskas apie vykdymo pristabdymą Node.js.

Išvada

Norėdami pristabdyti vykdymą Node.js, naudokite integruotą ' setInterval() “ arba „ setTimeout() “ modulio „Laikmačiai“ metodai. Be to, šią užduotį taip pat galima atlikti asinchroniškai naudojant „ async/laukti “ arba „ miego pažadas “ paketą. Visus šiuos metodus lengva naudoti. Vartotojas gali įgyvendinti bet kurį iš jų pagal reikalavimus. Šiame vadove praktiškai paaiškinti visi galimi būdai, kaip pristabdyti vykdymą Node.js (JavaScript).