Megértette a blokkolást a Node.js-ben?

Megertette A Blokkolast A Node Js Ben



A blokkoló vagy szinkron kód az, amely leállítja vagy leállítja az összes közelgő vagy alulvégrehajtási folyamat végrehajtását, amíg az éppen futó folyamat le nem fordítódik. Ezt a kódtípust leginkább akkor használják, ha a végrehajtandó folyamatok nem függenek egymástól. Egyszerűen fogalmazva, az első módszer kimenete nem adható meg a második módszer értékeként.

Ez az útmutató magyarázatot ad a blokkolásra a Node.js-ben.

Megértette a blokkolást a Node.js-ben?

A Node.js blokkolásának megértéséhez a „ fs ” modul a projekt igényei szerint használható. A Node.js-ben minden olyan metódus, amely tartalmazza a „ Szinkronizál ' mint ' readFileSync() ', ' renameSync() ” és így tovább szinkron vagy blokkoló módszernek minősül.







Az alábbiakban bemutatunk néhány példát a Node.js-ben található blokkolási módszerek közül:



1. példa: Az „fs.renameSync()” metódus blokkolása

A ' fs.renameSync() ” szinkron módszer átnevezi a mappát a régi névről vagy elérési útról az új névre vagy elérési útra. A blokkoló viselkedése leállítja az összes többi művelet végrehajtását, amíg a megadott feladat, azaz egy mappa átnevezése be nem fejeződik.



Szintaxis





A „ fs.renameSync() ” metódus az alábbiakban olvasható:

fs. renameSync ( régi név, új név )

A fenti szintaxis azt mutatja, hogy a „ fs.renameSync() ” csak a módosítandó fájl elérési útját és a beállítandó frissített fájl elérési útját igényli.



Nézzünk egy példát, hogy megértsük a „ renameSync() ” módszer a Node.js-ben:

van fs = igényelnek ( 'fs' ) ;

fs. renameSync ( 'usecase.txt' , 'demoAs.json' ) ;

konzol. log ( 'A mappa átnevezése sikeresen megtörtént' )

A fenti kódrészletben:

  • Először is a „ fs ' modul importálva és objektumként kerül tárolásra egy új változóban ' fs ”.
  • Ezután hívja meg a „ renameSync() ” metódussal, és paraméterként adja meg a régi és az új nevet.
  • A szinkron típusú kód miatt nincs szükség visszahívási funkciók használatára.
  • Ezenkívül jelenítsen meg egy álüzenetet a konzolon, hogy vizuálisan ellenőrizze a folyamatok blokkolását.

A generált kimenet azt mutatja, hogy az adott mappa átnevezése sikeresen megtörtént a blokkoló „ renameSync() ” módszer:

2. példa: Az „mkdirSync()” metódus blokkolása

A ' mkdirSync() ” a „ fs ” modul, amely mappát/könyvtárat hoz létre a fájlrendszerben.

Szintaxis

Az általánosított szintaxis mkdirSync() ” metódus az alábbiakban olvasható:

mkdirSync ( útvonal, lehetőségek )

A ' mkdirSync() ” csak a következő két paraméterrel működik:

  • pálya: Megadja a létrehozandó könyvtár pontos elérési útját vagy nevét.
  • lehetőségek: Ez egy opcionális paraméter, amely meghatározza egy mappa rekurzív létrehozását vagy sem.

Vegyünk egy kódpéldát a „ mkdirSync() ” módszer:

konzol. log ( 'Blockolási módszerek' ) ;

van fs = igényelnek ( 'fs' ) ;

fs. mkdirSync ( 'Használati esetek' ) ;

konzol. log ( 'A mappa átnevezése sikeresen megtörtént' ) ;

A fenti kódban a konvertálandó könyvtárnév a „ mkdirSync() ” módszerrel. Ezt a módszert a „ fs ” modul objektumot a dummy üzenettel együtt.

A generált kimenet azt mutatja, hogy a „ mkdirSync() ” metódus implementálásra került, és blokkolja a következő folyamatot a metódus befejezéséig:

3. példa: Az „rmdirSync()” metódus blokkolása

A ' rmdirSync() ” egy szinkron módszer, amely törli a mappákat a megadott elérési útról. Szinkron viselkedése blokkolja az összes többi művelet végrehajtását, amíg a megadott feladat, azaz egy mappa eltávolítása be nem fejeződik.

Szintaxis

Az általánosított szintaxis fs.rmdirSync() ” metódus az alábbiakban olvasható:

fs. rmdirSync ( útvonal, lehetőségek )

A fenti szintaxis azt mutatja, hogy a „ rmdirSync() ' csak a ' pálya ' és a ' lehetőségek ” paramétereket.

Látogassa meg az alábbi kódrészletet a célmappa projektből való törléséhez, majd a törlés után ellenőrizze, hogy elérhető-e a projektben:

const fs = igényelnek ( 'fs' ) ;

fs. rmdirSync ( 'Használati esetek' )

konzol. log ( 'A mappa sikeresen törölve' ) ;

mappa volt = fs. létezikSync ( 'Használati esetek' ) ;

konzol. log ( 'Mappa létezik:' , mappa ) ;

A fenti kódsorokban:

  • Először is a „ rmdirSync() ' metódus meghívása az importált ' fs ” modul objektum, a törölni kívánt fájl neve paraméterként kerül átadásra.
  • Ezután a „ console.log() ” metódus megjeleníti az ellenőrző üzenetet.
  • Ezt követően a „ létezikSync() ” metódus is meghívásra kerül annak jelzésére, hogy az adott mappa létezik-e vagy sem az aktuális könyvtárban. Ennek a módszernek az eredménye vagy kimenete a „ mappát ” változó.
  • Végül a „ console.log() ' metódus megjeleníti a ' mappát ” változót a konzolon.

A generált kimenet azt mutatja, hogy a célmappa törölve lett a „ rmdirSync() ” módszer:

Ez minden a Node.js blokkolásáról szól.

Következtetés

A ' blokkolása ” kód leállítja az összes folyamat végrehajtását, amíg az aktuális folyamat teljesen le nem hajtódik. Kifejezetten olyan függő metódusokhoz vagy függvényekhez használatos, amelyek kimenete a korábbi függvényeredményektől függ. A blokkoló kód akkor is jó választás, ha a folyamatokat szekvenciálisan kell végrehajtani. Ez az útmutató részletes információkat tartalmaz a Node.js-ben történő blokkolással kapcsolatban.