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. jsVygenerovaný 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.