Ako používať čitateľné prúdy v Node.js?

Ako Pouzivat Citatelne Prudy V Node Js



Dáta sa prenášajú cez sieť medzi odosielateľom alebo zdrojovou a cieľovou alebo prijímacou stranou vo forme tokov. Tieto prúdy môžu byť vytvorené a kombinované s využitím niekoľkých metód a audio alebo video súbory môžu byť tiež prenášané cez prúd. Načítané údaje je možné vložiť do iných cieľových súborov pomocou „ písať () “ a „ TAM() “ tiež metódy.

Táto príručka vysvetlí použitie čitateľných streamov v Node.js.

Ako používať čitateľné prúdy v Node.js?

' Čitateľné “streamy sa vytvárajú vyvolaním “ createReadStream() “ a načítané údaje sa potom môžu zobraziť na webovej stránke vytvorením lokálneho servera. Poslucháči podujatia s pomocou „ na () ” metódy môžu byť tiež pripojené k čitateľným tokom na zobrazenie správ alebo vykonanie špecifických akcií, keď sa čítanie súboru začína alebo končí.







Pre praktickú ukážku si pozrite príklad.



Príklad: Čítanie a zobrazovanie obsahu na serveri pomocou čitateľných streamov

V tomto príklade sa obsah poskytnutého súboru číta a následne zobrazuje cez webový prehliadač:



konšt fsObj = vyžadovať ( 'fs' ) ;

konšt httpObj = vyžadovať ( 'http' ) ;

konšt localServer = httpObj. createServer ( ( žiadosť, odpoveď ) => {

skúste {
// Cielený súbor na čítanie
konšt dátový tok = fsObj. vytvoriťReadStream ( usecase.txt ) ;
// Prepojenie súboru do odpovede
dátový tok. rúra ( odpoveď ) ;
} chytiť ( chyby ) {
konzoly. chyba ( chyby ) ;
}
} ) ;

localServer. počúvaj ( 8080 , ( ) => {
konzoly. log ( 'Server beží na čísle portu Localhost: '8080'' )
} ) ;

Popis vyššie uvedeného kódu je nasledujúci:





  • Najprv importujte požadované „ fs “ a „ http ” moduly a ukladať ich objekty do “ fsObj “ a „ httpObj “premenné.
  • Ďalej bol server vytvorený vyvolaním „ createServer() “ a uloženie tohto novovytvoreného servera do “ localServer “premenná.
  • Potom použite „ skúste “ zablokujte vo funkcii spätného volania metódy a vyvolajte „ createReadStream() “ pomocou metódy “ fsObj “premenná.
  • Zadajte cieľový obsah súboru, ktorý je potrebné prečítať, do zátvorky tejto metódy a výsledok uložte do „ dátový tok “premenná.
  • Vložte „ dátový tok „premenná do „ .rúra() “ spôsob odoslania odpovede.
  • Využite „ chytiť ” blok na spracovanie všetkých vzniknutých chýb.
  • Nakoniec počúvajte alebo nastavte server cez číslo portu “ 8080 “ a pomocou funkcie spätného volania zobrazí správu o úspechu.

Spustite súbor, ktorý obsahuje (controlFlow.js) vyššie uvedeného kódu, ktorý sa vykoná pomocou nižšie uvedeného príkazu:

uzol controlFlow. js

Vygenerovaný výstup ukazuje, že pomocou „ .rúra() “ a „ Čitateľný stream ”, dáta súboru boli načítané a odoslané do cieľového streamu, aby sa zobrazili na webovej stránke:



Príklad 2: Lokálne čítanie statických súborov pomocou ReadStream

V tomto prípade sa vyberie poskytnutý súbor cez stream a jeho obsah sa potom zobrazí v okne konzoly pomocou poslucháčov udalostí:

konšt fsObj = vyžadovať ( 'fs' ) ;

konšt streamObj = fsObj. vytvoriťReadStream ( usecase.txt ) ;

streamObj. na ( 'data' , ( obsahu ) => {

konzoly. log ( obsahu. natiahnuť ( ) ) ;

} ) ;

streamObj. na ( 'koniec' , ( ) => {

konzoly. log ( ' \n Dokončené čítanie súboru.' ) ;

} ) ;

streamObj. rúra ( proces. stdout ) ;

Popis vyššie uvedeného kódu je nasledujúci:

  • Po prvé, „ fs ” modul sa importuje a jeho objekt sa uloží do “ fsObj “premenná.
  • Ďalej pomocou „ fsObj “ sa dovoláva „ createReadStream() ” a odovzdá cestu k cieľovému súboru, ktorého obsah je potrebné získať. Uložte výsledok metódy do novej premennej “ streamObj “.
  • Pripojte „ na () ” metóda s “streamObj”, ktorá vyvolá funkciu spätného volania, keď “ údajov “ sa načíta. Získané údaje sa odovzdajú ako parameter pre funkciu spätného volania, ktorá konvertuje údaje do formátu String a zobrazí ich cez konzolu.
  • Opäť pripojte „ na () “ metóda s “ streamObj “ a tentoraz jeho funkcia spätného volania zobrazí správu o ukončení po dokončení čítania súboru.

Vygenerovaný výstup po vykonaní vyššie uvedeného kódu ukazuje, že načítané údaje pozdĺž záverečnej správy boli zobrazené cez konzolu:

To je všetko o používaní čitateľných streamov v Node.js.

Záver

Ak chcete pracovať s čitateľnými prúdmi v Node.js, metóda „ createReadStream() “ sa vyvolá cez „ fs “modulový objekt. Cieľová cesta k súboru, na ktorú je potrebné zapísať obsah, sa potom odovzdá ako parameter metódy. Dá sa použiť s „ .rúra() ” na vykonanie ďalších úloh nad získanými údajmi, ako je zápis obsahu do iného súboru. Tento príspevok ilustroval postup práce s čitateľnými prúdmi.