Hur använder man läsbara strömmar i Node.js?

Hur Anvander Man Lasbara Strommar I Node Js



Data överförs över nätverket mellan avsändaren eller käll- och destinations- eller mottagarsidan i form av strömmar. Dessa strömmar kan skapas och kombineras med användning av flera metoder, och ljud- eller videofilerna kan också skickas över strömmen. Läsdata kan infogas i andra riktade filer med ' skriva() ' och ' skjuta på() ”-metoder också.

Den här guiden kommer att förklara användningen av läsbara strömmar i Node.js.

Hur använder man läsbara strömmar i Node.js?

den ' Läsbar ' strömmar skapas genom att anropa ' createReadStream() ” och den lästa informationen kan sedan visas över webbsidan genom att skapa den lokala servern. Eventlyssnarna med hjälp av ” på() ”-metoder kan också kopplas till de läsbara strömmarna för att visa meddelanden eller utföra specifika åtgärder när läsningen av filen börjar eller slutar.







Ta en titt på exemplet för en praktisk demonstration.



Exempel: Läsa och visa innehåll över server med läsbara strömmar

I det här exemplet läses innehållet i en tillhandahållen fil och visas sedan i webbläsaren:



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

konst httpObj = behöva ( 'http' ) ;

konst localServer = httpObj. skapaServer ( ( begäran, svar ) => {

Prova {
// Riktad fil att läsa
konst dataström = fsObj. skapaReadStream ( 'usecase.txt' ) ;
// Pipe filen till svar
dataström. rör ( svar ) ;
} fånga ( fel ) {
trösta. fel ( fel ) ;
}
} ) ;

localServer. lyssna ( 8080 , ( ) => {
trösta. logga ( 'Server körs på Localhost Portnummer: '8080' ' )
} ) ;

Beskrivningen av ovanstående kod är följande:





  • Importera först den nödvändiga ' fs ' och ' http '-moduler och lagra deras objekt i ' fsObj ' och ' httpObj ” respektive variabler.
  • Därefter har servern skapats genom att anropa ' createServer() '-metoden och lagra denna nyskapade server i en ' localServer ” variabel.
  • Använd sedan en ' Prova ' blockera inuti metodåteruppringningsfunktionen och anropa ' createReadStream() ' metoden med ' fsObj ” variabel.
  • Skicka det riktade filinnehållet som måste läsas inom denna metodparentes och lagra resultatet i ' dataström ” variabel.
  • Sätt in ' dataström ' variabel till ' .rör() ” metod för att skicka svaret.
  • Använd ' fånga ” block för att hantera eventuella fel.
  • Slutligen, lyssna eller ställ in servern över portnumret ' 8080 ” och visa framgångsmeddelandet med hjälp av dess återuppringningsfunktion.

Kör den innehållande filen (controlFlow.js) med ovanstående kod som är via det nedan angivna kommandot:

nodkontrollFlöde. js

Den genererade utdata visar att med hjälp av ' .rör() ' och ' Läsbar ström ”, har fildata lästs och skickats till destinationsströmmen för att visas över webbsidan:



Exempel 2: Läsa statiska filer lokalt med ReadStream

I det här fallet väljs den tillhandahållna filen över strömmen och dess innehåll visas sedan över konsolfönstret med hjälp av händelseavlyssnare:

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

konst streamObj = fsObj. skapaReadStream ( 'usecase.txt' ) ;

streamObj. ( 'data' , ( innehåll ) => {

trösta. logga ( innehåll. att stränga ( ) ) ;

} ) ;

streamObj. ( 'slutet' , ( ) => {

trösta. logga ( ' \n Läste klart filen.' ) ;

} ) ;

streamObj. rör ( bearbeta. stdout ) ;

Beskrivningen av ovanstående kod är följande:

  • Först, ' fs '-modulen importeras och dess objekt lagras i ' fsObj ” variabel.
  • Använd sedan ' fsObj ' åberopar ' createReadStream() ”-metoden och skickar sökvägen till den riktade filen vars innehåll måste hämtas. Lagra resultatet av metoden i en ny variabel ' streamObj ”.
  • Fäst ' på() '-metod med 'streamObj' som anropar en återuppringningsfunktion när ' data ” hämtas. Den hämtade datan skickas som en parameter för callback-funktionen som konverterar data till String-format och visar den över konsolen.
  • Återigen bifoga ' på() ' metod med ' streamObj ” och den här gången visar dess återuppringningsfunktion ett avslutande meddelande när läsningen av filen är klar.

Den genererade utdata efter exekvering av ovanstående kod visar att den lästa informationen längs med slutmeddelandet har visats över konsolen:

Det handlar om användningen av läsbara strömmar i Node.js.

Slutsats

För att arbeta med läsbara strömmar i Node.js, metoden för ' createReadStream() ' anropas via ' fs ” modulobjekt. Den riktade filsökvägen som innehållet behöver skrivas på skickas sedan som metodparameter. Den kan användas med ' .rör() ” metod för att utföra ytterligare uppgifter över den hämtade datan som att skriva innehållet i en annan fil. Det här inlägget har illustrerat proceduren för att arbeta med läsbara strömmar.