Förstå blockering i Node.js?

Forsta Blockering I Node Js



Blockerande eller synkron kod är den som stoppar eller stoppar exekveringen av alla kommande eller underexekverade processer tills den för närvarande exekverande processen har kompilerats. Denna typ av kod används mest när processerna som ska köras inte är beroende av varandra. Enkelt uttryckt bör utdata från den första metoden inte matas in som värdet för den andra.

Den här guiden ger en förklaring av blockering i Node.js.

Förstå blockering i Node.js?

För att förstå blockeringen i Node.js, blockeringsmetoderna som tillhandahålls av ' fs ”-modulen kan användas enligt projektets krav. I Node.js, varje metod som innehåller nyckelordet ' Synkronisera ' tycka om ' readFileSync() ', ' renameSync() ”, och så vidare anses vara synkrona eller blockerande metoder.







Några av dessa exempel på blockeringsmetoder i Node.js förklaras nedan:



Exempel 1: Användning av blockeringsmetoden 'fs.renameSync()'.

den ' fs.renameSync() ” Synchronous method byter namn på mappen från det gamla namnet eller sökvägen till det nya namnet eller sökvägen. Dess blockeringsbeteende stoppar exekveringen av alla andra operationer tills dess specificerade uppgift, dvs att byta namn på en mapp inte är klar.



Syntax





Den grundläggande syntaxen för ' fs.renameSync() ”-metoden är skriven nedan:

fs. byt namn på Sync ( gammalt namn, nytt namn )

Ovanstående syntax visar att ' fs.renameSync() ” kräver bara sökvägen till en fil som behöver ändras och den uppdaterade filsökvägen som kommer att ställas in.



Låt oss ta ett exempel för att förstå hur det fungerar att blockera ' renameSync() ” metod i Node.js:

det finns fs = behöva ( 'fs' ) ;

fs. byt namn på Sync ( 'usecase.txt' , 'demoAs.json' ) ;

trösta. logga ( 'Mapp har bytt namn' )

I kodavsnittet ovan:

  • Först, ' fs '-modulen importeras och lagras som ett objekt i en ny variabel med namnet ' fs ”.
  • Anropa sedan ' renameSync() ”-metoden och skicka det gamla namnet och det nya namnet som parametrar.
  • Det finns inget behov av att använda återuppringningsfunktioner på grund av synkron typkod.
  • Visa också ett dummymeddelande på konsolen för att verifiera blockeringen av processer visuellt.

Den genererade utgången visar att den givna mappen har bytt namn framgångsrikt med hjälp av blockeringen ' renameSync() ' metod:

Exempel 2: Användning av blockeringsmetoden 'mkdirSync()'.

den ' mkdirSync() ' är den fördefinierade synkrona metoden för ' fs ” modul som skapar en mapp/katalog i filsystemet.

Syntax

Den generaliserade syntaxen för ' mkdirSync() ”-metoden är skriven nedan:

mkdirSync ( väg, alternativ )

den ' mkdirSync() ' fungerar endast på följande två parametrar:

  • väg: Den anger den exakta sökvägen eller namnet på katalogen som måste skapas.
  • alternativ: Det är en valfri parameter som definierar skapandet av en mapp rekursivt eller inte.

Låt oss ta ett kodexempel på att blockera ' mkdirSync() ' metod:

trösta. logga ( 'Blockeringsmetoder' ) ;

det finns fs = behöva ( 'fs' ) ;

fs. mkdirSync ( 'Användningsfall' ) ;

trösta. logga ( 'Mapp har bytt namn' ) ;

I ovanstående kod skickas katalognamnet som ska konverteras in i ' mkdirSync() 'metoden. Denna metod åberopas av ' fs ” modulobjekt tillsammans med dummymeddelandet.

Den genererade utdata visar att ' mkdirSync() ”-metoden har implementerats och den blockerar den kommande processen tills den här metoden är klar:

Exempel 3: Användning av blockeringsmetoden 'rmdirSync()'.

den ' rmdirSync() ” är en synkron metod som tar bort mapparna från den angivna sökvägen. Dess synkrona beteende blockerar exekveringen av alla andra operationer tills dess specificerade uppgift, dvs att ta bort en mapp inte är klar.

Syntax

Den generaliserade syntaxen för ' fs.rmdirSync() ”-metoden är skriven nedan:

fs. rmdirSync ( väg, alternativ )

Ovanstående syntax visar att ' rmdirSync() ' fungerar endast på ' väg ' och den ' alternativ ' parametrar.

Besök kodavsnittet nedan för att ta bort den inriktade mappen från projektet och kontrollera sedan dess tillgänglighet i projektet efter raderingen:

konst fs = behöva ( 'fs' ) ;

fs. rmdirSync ( 'Användningsfall' )

trösta. logga ( 'Mapp raderades framgångsrikt' ) ;

var mapp = fs. existsSync ( 'Användningsfall' ) ;

trösta. logga ( 'Mapp finns:' , mapp ) ;

I kodraderna ovan:

  • För det första, ' rmdirSync() ”-metoden anropas via den importerade ” fs ” modulobjekt skickas namnet på filen som måste raderas som parameter.
  • Därefter ' console.log() ”-metoden visar verifieringsmeddelandet.
  • Efter det kommer ' existsSync() ”-metoden anropas också för att indikera om den givna mappen finns eller inte i den aktuella katalogen. Resultatet eller utdata från denna metod lagras i ' mapp ” variabel.
  • Slutligen, ' console.log() ”-metoden visar värdet på ” mapp ” variabel på konsolen.

Den genererade utgången visar att den riktade mappen har raderats med hjälp av att blockera ' rmdirSync() ' metod:

Det handlar om blockeringen i Node.js.

Slutsats

den ' blockering ” kod stoppar exekveringen av alla processer tills den aktuella processen exekveras helt. Den används specifikt för beroende metoder eller funktioner vars utdata är beroende av tidigare funktionsresultat. Blockeringskoden är också ett bra val när behovet är att utföra processer sekventiellt. Den här guiden har illustrerat detaljerad information om blockering i Node.js.