Forstå blokering i Node.js?

Forsta Blokering I Node Js



Blokering eller synkron kode er den, der stopper eller stopper udførelsen af ​​alle kommende eller underudførelsesprocesser, indtil den aktuelt eksekverende proces bliver kompileret. Denne type kode bruges mest, når de processer, der skal udføres, ikke er afhængige af hinanden. Enkelt sagt bør output fra den første metode ikke tilføres som værdien for den anden.

Denne vejledning giver en forklaring på blokering i Node.js.

Forstå blokering i Node.js?

For at forstå blokeringen i Node.js skal de blokeringsmetoder, der leveres af ' fs ”-modulet kan anvendes i henhold til projektets krav. I Node.js, hver metode, der indeholder søgeordet ' Synkronisere ' synes godt om ' readFileSync() ', ' renameSync() ”, og så videre betragtes som synkrone eller blokerende metoder.







Nogle af disse eksempler på blokeringsmetoder i Node.js er forklaret nedenfor:



Eksempel 1: Brug af blokeringsmetoden 'fs.renameSync()'.

Det ' fs.renameSync() ” synkron metode omdøber mappen fra det gamle navn eller sti til det nye navn eller sti. Dens blokeringsadfærd standser udførelsen af ​​alle andre operationer, indtil dens specificerede opgave, dvs. at omdøbe en mappe, ikke er fuldført.



Syntaks





Den grundlæggende syntaks for ' fs.renameSync() ” metode er skrevet nedenfor:

fs. omdøb Sync ( gammelt navn, nyt navn )

Ovenstående syntaks viser, at ' fs.renameSync() ” kræver kun stien til en fil, der skal ændres, og den opdaterede filsti, der vil blive indstillet.



Lad os få et eksempel for at forstå, hvordan blokering af ' renameSync() ” metode i Node.js:

der er fs = kræve ( 'fs' ) ;

fs. omdøb Sync ( 'usecase.txt' , 'demoAs.json' ) ;

konsol. log ( 'Mappe omdøbt med succes' )

I ovenstående kodestykke:

  • For det første ' fs ” modul importeres og gemmes som et objekt i en ny variabel med navnet ” fs ”.
  • Påkald derefter ' renameSync() ”-metoden og videregive det gamle navn og det nye navn som parametre.
  • Der er ingen grund til at bruge tilbagekaldsfunktioner på grund af synkron typekode.
  • Vis også en dummy-meddelelse på konsollen for at bekræfte blokeringen af ​​processer visuelt.

Det genererede output viser, at den givne mappe er blevet omdøbt med succes ved hjælp af blokeringen ' renameSync() ” metode:

Eksempel 2: Brug af blokeringsmetoden 'mkdirSync()'.

Det ' mkdirSync() ' er den foruddefinerede synkrone metode for ' fs ” modul, der opretter en mappe/mappe i filsystemet.

Syntaks

Den generaliserede syntaks for ' mkdirSync() ” metode er skrevet nedenfor:

mkdirSync ( sti, muligheder )

Det ' mkdirSync() ' virker kun på følgende to parametre:

  • sti: Det specificerer den nøjagtige sti eller navn på den mappe, der skal oprettes.
  • muligheder: Det er en valgfri parameter, der definerer oprettelsen af ​​en mappe rekursivt eller ej.

Lad os få et kodeeksempel på blokering af ' mkdirSync() ” metode:

konsol. log ( 'Blokeringsmetoder' ) ;

der er fs = kræve ( 'fs' ) ;

fs. mkdirSync ( 'Use Cases' ) ;

konsol. log ( 'Mappe omdøbt med succes' ) ;

I ovenstående kode sendes biblioteksnavnet, der skal konverteres, inde i ' mkdirSync() ” metode. Denne metode påberåbes af ' fs ” modulobjekt sammen med dummy-meddelelsen.

Det genererede output viser, at ' mkdirSync() ”-metoden er blevet implementeret, og den blokerer for den kommende proces indtil færdiggørelsen af ​​denne metode:

Eksempel 3: Brug af blokeringsmetoden 'rmdirSync()'.

Det ' rmdirSync() ” er en synkron metode, der sletter mapperne fra den angivne angivne sti. Dens synkrone adfærd blokerer for udførelsen af ​​alle andre operationer, indtil dens specificerede opgave, dvs. at fjerne en mappe, ikke er fuldført.

Syntaks

Den generaliserede syntaks for ' fs.rmdirSync() ” metode er skrevet nedenfor:

fs. rmdirSync ( sti, muligheder )

Ovenstående syntaks viser, at ' rmdirSync() ' virker kun på ' sti ' og ' muligheder ' parametre.

Besøg nedenstående kodestykke for at slette den målrettede mappe fra projektet, og efter sletning kontrolleres tilgængeligheden i projektet:

konst fs = kræve ( 'fs' ) ;

fs. rmdirSync ( 'Use Cases' )

konsol. log ( 'Mappe blev slettet' ) ;

var mappe = fs. eksisterer Sync ( 'Use Cases' ) ;

konsol. log ( 'Mappe findes:' , mappe ) ;

I ovenstående kodelinjer:

  • For det første er ' rmdirSync() '-metoden påkaldes via den importerede ' fs ” modulobjekt, overføres navnet på den fil, der skal slettes, som parameter.
  • Dernæst ' console.log() ”-metoden viser bekræftelsesmeddelelsen.
  • Derefter vil ' existsSync() ”-metoden påkaldes også for at angive, om den givne mappe findes eller ej i den aktuelle mappe. Resultatet eller output af denne metode gemmes i ' folder ' variabel.
  • Til sidst, ' console.log() '-metoden viser værdien af ​​' folder ” variabel på konsollen.

Det genererede output viser, at den målrettede mappe er blevet slettet ved hjælp af blokering af ' rmdirSync() ” metode:

Det handler om blokeringen i Node.js.

Konklusion

Det ' blokering ”-kode stopper udførelsen af ​​alle processer, indtil den aktuelle proces bliver eksekveret fuldstændigt. Det bruges specifikt til afhængige metoder eller funktioner, hvis output er afhængigt af tidligere funktionsresultater. Blokeringskoden er også et godt valg, når behovet er at udføre processer sekventielt. Denne vejledning har illustreret detaljerede oplysninger om blokering i Node.js.