Suprasti blokavimą Node.js?

Suprasti Blokavima Node Js



Blokuojantis arba sinchroninis kodas yra tas, kuris sustabdo arba sustabdo visų būsimų ar nepakankamai vykdomų procesų vykdymą, kol bus sukompiliuotas šiuo metu vykdomas procesas. Šio tipo kodas dažniausiai naudojamas, kai vykdomi procesai nepriklauso vienas nuo kito. Paprastais žodžiais tariant, pirmojo metodo išvestis neturėtų būti pateikiama kaip antrojo metodo vertė.

Šiame vadove pateikiamas Node.js blokavimo paaiškinimas.

Suprasti blokavimą Node.js?

Norėdami suprasti blokavimą Node.js, blokavimo metodus, pateiktus „ fs “ modulis gali būti naudojamas pagal projekto reikalavimus. „Node.js“ kiekvienas metodas, kuriame yra raktinis žodis „ Sinchronizuoti ' Kaip ' readFileSync() ', ' renameSync() “ ir pan., yra laikomi sinchroniniais arba blokavimo metodais.







Kai kurie iš šių Node.js blokavimo metodų pavyzdžių paaiškinami toliau:



1 pavyzdys: „fs.renameSync()“ blokavimo metodo naudojimas

fs.renameSync() ” sinchroninis metodas pervadina aplanką iš senojo pavadinimo arba kelio į naują pavadinimą arba kelią. Jo blokavimas sustabdo visų kitų operacijų vykdymą, kol nebus atlikta nurodyta užduotis, t. y. aplanko pervadinimas nebus baigtas.



Sintaksė





Pagrindinė sintaksė fs.renameSync() “ metodas parašytas žemiau:

fs. pervadinti sinchronizavimą ( senas vardas, naujas vardas )

Aukščiau pateikta sintaksė rodo, kad „ fs.renameSync() “ reikalingas tik failo kelias, kurį reikia modifikuoti, ir atnaujinto failo kelias, kuris bus nustatytas.



Pateiksime pavyzdį, kad suprastume, kaip blokuoti „ renameSync() “ metodas Node.js:

yra fs = reikalauti ( 'fs' ) ;

fs. pervadinti sinchronizavimą ( „usecase.txt“ , „demoAs.json“ ) ;

konsolė. žurnalas ( „Aplankas sėkmingai pervardytas“ )

Aukščiau pateiktame kodo fragmente:

  • Pirma, „ fs “ modulis importuojamas ir saugomas kaip objektas naujame kintamajame pavadinimu “ fs “.
  • Tada iškvieskite „ renameSync() “ metodą ir kaip parametrus nurodykite senąjį ir naują pavadinimą.
  • Dėl sinchroninio tipo kodo nereikia naudoti atgalinio skambinimo funkcijų.
  • Taip pat konsolėje parodykite netikrą pranešimą, kad vizualiai patikrintumėte procesų blokavimą.

Sukurta išvestis rodo, kad duotas aplankas buvo sėkmingai pervardytas naudojant blokavimo ' renameSync() “ metodas:

2 pavyzdys: „mkdirSync()“ blokavimo metodo naudojimas

mkdirSync() “ yra iš anksto nustatytas sinchroninis „ fs “ modulis, kuris failų sistemoje sukuria aplanką / katalogą.

Sintaksė

apibendrinta sintaksė mkdirSync() “ metodas parašytas žemiau:

mkdirSync ( kelias, parinktys )

mkdirSync() “ veikia tik pagal šiuos du parametrus:

  • kelias: Jame nurodomas tikslus katalogo, kurį reikia sukurti, kelias arba pavadinimas.
  • galimybės: Tai yra pasirenkamas parametras, kuris apibrėžia aplanko kūrimą rekursyviai ar ne.

Pateiksime kodo pavyzdį, kaip blokuoti „ mkdirSync() “ metodas:

konsolė. žurnalas ( „Blokavimo metodai“ ) ;

yra fs = reikalauti ( 'fs' ) ;

fs. mkdirSync ( 'Naudojimo atvejai' ) ;

konsolė. žurnalas ( „Aplankas sėkmingai pervardytas“ ) ;

Aukščiau pateiktame kode katalogo pavadinimas, kurį reikia konvertuoti, perduodamas „ mkdirSync() “ metodas. Šį metodą iškviečia „ fs “ modulio objektas kartu su netikru pranešimu.

Sukurta išvestis rodo, kad „ mkdirSync() “ metodas buvo įdiegtas ir blokuoja būsimą procesą iki šio metodo pabaigos:

3 pavyzdys: „rmdirSync()“ blokavimo metodo naudojimas

rmdirSync() “ yra sinchroninis metodas, kuris ištrina aplankus iš nurodyto nurodyto kelio. Jo sinchroninis elgesys blokuoja visų kitų operacijų vykdymą tol, kol nebus atlikta nurodyta užduotis, ty aplankas nebus pašalintas.

Sintaksė

apibendrinta sintaksė fs.rmdirSync() “ metodas parašytas žemiau:

fs. rmdirSync ( kelias, parinktys )

Aukščiau pateikta sintaksė rodo, kad „ rmdirSync() “ veikia tik „ kelias ' ir ' galimybės “ parametrus.

Apsilankykite toliau pateiktame kodo fragmente, kad iš projekto ištrintumėte tikslinį aplanką, o ištrynę patikrinkite, ar jis pasiekiamas projekte:

konst fs = reikalauti ( 'fs' ) ;

fs. rmdirSync ( 'Naudojimo atvejai' )

konsolė. žurnalas ( 'Aplankas sėkmingai ištrintas' ) ;

buvo aplankas = fs. egzistuoja sinchronizavimas ( 'Naudojimo atvejai' ) ;

konsolė. žurnalas ( 'Aplankas egzistuoja:' , aplankas ) ;

Aukščiau pateiktose kodo eilutėse:

  • Pirma, „ rmdirSync() “ metodas iškviečiamas per importuotą “ fs ” modulio objektas, kaip parametras perduodamas failo, kurį reikia ištrinti, pavadinimas.
  • Toliau „ console.log() “ metodas rodo patvirtinimo pranešimą.
  • Po to „ egzistuoja sinchronizavimas() “ metodas taip pat iškviečiamas, kad būtų nurodyta, ar nurodytas aplankas esamame kataloge yra, ar ne. Šio metodo rezultatas arba išvestis saugomi „ aplanką “ kintamasis.
  • Galiausiai „ console.log() ' metodas rodo ' reikšmę aplanką “ kintamasis konsolėje.

Sukurta išvestis rodo, kad tikslinis aplankas buvo ištrintas blokuojant „ rmdirSync() “ metodas:

Tai viskas apie blokavimą Node.js.

Išvada

blokavimas “ kodas sustabdo visų procesų vykdymą, kol dabartinis procesas bus visiškai įvykdytas. Jis specialiai naudojamas priklausomiems metodams arba funkcijoms, kurių išvestis priklauso nuo ankstesnių funkcijų rezultatų. Blokavimo kodas taip pat yra geras pasirinkimas, kai reikia atlikti procesus nuosekliai. Šiame vadove pateikta išsami informacija apie blokavimą Node.js.