Razumijete li blokiranje u Node.js?

Razumijete Li Blokiranje U Node Js



Blokirajući ili sinkroni kod je onaj koji zaustavlja ili zaustavlja izvršavanje svih nadolazećih ili nedovoljno izvršenih procesa dok se proces koji se trenutno izvodi ne kompajlira. Ova vrsta koda se uglavnom koristi kada procesi koje treba izvršiti ne ovise jedan o drugome. Jednostavno rečeno, izlaz prve metode ne bi se trebao hraniti kao vrijednost za drugu.

Ovaj vodič daje objašnjenje blokiranja u Node.js.

Razumijete li blokiranje u Node.js?

Da biste razumjeli blokiranje u Node.js, metode blokiranja koje pruža ' fs ” modul se može koristiti prema zahtjevima projekta. U Node.js, svaka metoda koja sadrži ključnu riječ ' Sinkronizacija ' Kao ' readFileSync() ', ' preimenujSync() ”, i tako dalje smatraju se sinkronim ili blokirajućim metodama.







Neki od ovih primjera metoda blokiranja u Node.js objašnjeni su u nastavku:



Primjer 1: Upotreba metode blokiranja “fs.renameSync()”.

' fs.renameSync() ” sinkrona metoda preimenuje mapu iz starog naziva ili putanje u novi naziv ili stazu. Njegovo ponašanje blokiranja zaustavlja izvršenje svih drugih operacija sve dok se ne dovrši navedeni zadatak, tj. preimenovanje mape.



Sintaksa





Osnovna sintaksa ' fs.renameSync() ” metoda je napisana ispod:

fs. preimenujSync ( staro ime, novo ime )

Gornja sintaksa pokazuje da ' fs.renameSync() ” zahtijeva samo putanju datoteke koju je potrebno izmijeniti i ažuriranu stazu datoteke koja će se postaviti.



Uzmimo primjer za razumijevanje funkcioniranja blokiranja ' preimenujSync() ” metoda u Node.js:

postoji fs = zahtijevati ( 'fs' ) ;

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

konzola. log ( 'Mapa je uspješno preimenovana' )

U gornjem isječku koda:

  • Prvo, ' fs ” modul se uvozi i pohranjuje kao objekt u novoj varijabli pod nazivom “ fs ”.
  • Zatim pozovite ' preimenujSync() ” i proslijedite staro i novo ime kao parametre.
  • Nema potrebe za korištenjem funkcija povratnog poziva zbog koda sinkronog tipa.
  • Također, prikažite lažnu poruku na konzoli da biste vizualno provjerili blokiranje procesa.

Generirani izlaz pokazuje da je data mapa uspješno preimenovana uz pomoć blokiranja ' preimenujSync() ” metoda:

Primjer 2: Upotreba metode blokiranja 'mkdirSync()'.

' mkdirSync() ” je unaprijed definirana sinkrona metoda za “ fs ” modul koji stvara mapu/direktorij u datotečnom sustavu.

Sintaksa

Generalizirana sintaksa ' mkdirSync() ” metoda je napisana ispod:

mkdirSync ( put, mogućnosti )

' mkdirSync() ” radi samo na sljedeća dva parametra:

  • staza: Određuje točan put ili naziv direktorija koji je potrebno stvoriti.
  • opcije: To je izborni parametar koji definira stvaranje mape rekurzivno ili ne.

Pogledajmo primjer koda blokiranja ' mkdirSync() ” metoda:

konzola. log ( 'Metode blokiranja' ) ;

postoji fs = zahtijevati ( 'fs' ) ;

fs. mkdirSync ( 'Slučajevi upotrebe' ) ;

konzola. log ( 'Mapa je uspješno preimenovana' ) ;

U gornjem kodu, naziv direktorija koji se pretvara prenosi se unutar ' mkdirSync() ” metoda. Ovu metodu poziva ' fs ” objekt modula zajedno s lažnom porukom.

Generirani izlaz pokazuje da je ' mkdirSync() ” metoda je implementirana i blokira nadolazeći proces do završetka ove metode:

Primjer 3: Upotreba metode blokiranja 'rmdirSync()'.

' rmdirSync() ” je sinkrona metoda koja briše mape sa zadane navedene staze. Njegovo sinkrono ponašanje blokira izvršenje svih drugih operacija dok se ne dovrši navedeni zadatak, tj. uklanjanje mape.

Sintaksa

Generalizirana sintaksa ' fs.rmdirSync() ” metoda je napisana ispod:

fs. rmdirSync ( put, mogućnosti )

Gornja sintaksa pokazuje da ' rmdirSync() ' radi samo na ' staza ' i ' opcije ” parametri.

Posjetite donji isječak koda kako biste izbrisali ciljanu mapu iz projekta, a zatim nakon brisanja provjerite njezinu dostupnost u projektu:

konst fs = zahtijevati ( 'fs' ) ;

fs. rmdirSync ( 'Slučajevi upotrebe' )

konzola. log ( 'Mapa je uspješno izbrisana' ) ;

bila mapa = fs. existsSync ( 'Slučajevi upotrebe' ) ;

konzola. log ( 'Mapa postoji:' , mapa ) ;

U gornjim redcima koda:

  • Prvo, ' rmdirSync() ” poziva se putem uvezenog “ fs ” objekt modula, naziv datoteke koju je potrebno izbrisati prosljeđuje se kao parametar.
  • Zatim, ' konzola.log() ” prikazuje poruku za potvrdu.
  • Nakon toga, ' postojiSink() ” također se poziva metoda da pokaže da li navedena mapa postoji ili ne u trenutnom direktoriju. Rezultat ili izlaz ove metode pohranjuje se u ' mapa ” varijabla.
  • Na kraju, ' konzola.log() ' metoda prikazuje vrijednost ' mapa ” varijablu na konzoli.

Generirani izlaz pokazuje da je ciljana mapa izbrisana uz pomoć blokiranja ' rmdirSync() ” metoda:

To je sve o blokiranju u Node.js.

Zaključak

' blokiranje ” kod zaustavlja izvršavanje svih procesa dok se trenutni proces ne izvrši u potpunosti. Posebno se koristi za ovisne metode ili funkcije čiji izlaz ovisi o rezultatima prethodnih funkcija. Kôd za blokiranje također je dobar izbor kada je potrebno izvršiti procese uzastopno. Ovaj vodič ilustrira detaljne informacije o blokiranju u Node.js.