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.