Wie verwende ich lesbare Streams in Node.js?

Wie Verwende Ich Lesbare Streams In Node Js



Die Daten werden in Form von Streams über das Netzwerk zwischen der Sender- bzw. Quell- und der Ziel- bzw. Empfängerseite übertragen. Diese Streams können mithilfe verschiedener Methoden erstellt und kombiniert werden, und die Audio- oder Videodateien können ebenfalls über den Stream übertragen werden. Die gelesenen Daten können mit „“ in andere Zieldateien eingefügt werden. schreiben() ' Und ' drücken() ” Methoden auch.

In diesem Leitfaden wird die Verwendung lesbarer Streams in Node.js erläutert.

Wie verwende ich lesbare Streams in Node.js?

Der ' Lesbar „Streams werden durch Aufrufen der „ createReadStream() ” und die gelesenen Daten können dann über die Webseite angezeigt werden, indem der lokale Server erstellt wird. Die Event-Listener mit Hilfe von „ An() ”-Methoden können auch an die lesbaren Streams angehängt werden, um Nachrichten anzuzeigen oder bestimmte Aktionen auszuführen, wenn das Lesen der Datei beginnt oder endet.







Schauen Sie sich das Beispiel für eine praktische Demonstration an.



Beispiel: Lesen und Anzeigen von Inhalten über einen Server mithilfe lesbarer Streams

In diesem Beispiel wird der Inhalt einer bereitgestellten Datei gelesen und dann über den Webbrowser angezeigt:



const fsObj = erfordern ( 'fs' ) ;

const httpObj = erfordern ( 'http' ) ;

const lokaler Server = httpObj. createServer ( ( Anfrage, Antwort ) => {

versuchen {
// Gezielte Datei zum Lesen
const Datenstrom = fsObj. createReadStream ( 'usecase.txt' ) ;
// Die Datei an die Antwort weiterleiten
Datenstrom. Rohr ( Antwort ) ;
} fangen ( Fehler ) {
Konsole. Fehler ( Fehler ) ;
}
} ) ;

lokaler Server. Hören ( 8080 , ( ) => {
Konsole. Protokoll ( 'Server läuft auf Localhost-Portnummer: „8080“‘ )
} ) ;

Die Beschreibung des obigen Codes lautet wie folgt:





  • Importieren Sie zunächst das erforderliche „ fs ' Und ' http ” Module und speichern ihre Objekte in „ fsObj ' Und ' httpObj ” Variablen bzw.
  • Als nächstes wurde der Server durch Aufrufen von „ createServer() ”-Methode und Speichern dieses neu erstellten Servers in einem „ lokaler Server ” variabel.
  • Verwenden Sie dann ein „ versuchen ”-Block innerhalb der Methoden-Callback-Funktion und rufen Sie den „ auf createReadStream() ”-Methode unter Verwendung der „ fsObj ” variabel.
  • Übergeben Sie den Zieldateiinhalt, der gelesen werden muss, in dieser Methodenklammer und speichern Sie das Ergebnis im „ Datenstrom ” variabel.
  • Fügen Sie das „ Datenstrom ”-Variable in die „ .Rohr() ”-Methode zum Senden der Antwort.
  • Nutzen Sie die „ fangen ”-Block zur Behandlung eventuell aufgetretener Fehler.
  • Abschließend hören oder richten Sie den Server über die Portnummer ein. 8080 ” und die Erfolgsmeldung mit Hilfe seiner Callback-Funktion anzeigen.

Führen Sie die enthaltende Datei (controlFlow.js) des obigen Codes über den unten angegebenen Befehl aus:

Knoten controlFlow. js

Die generierte Ausgabe zeigt, dass mit Hilfe von „ .Rohr() ' Und ' Lesbarer Stream “, wurden die Dateidaten gelesen und an den Zielstream gesendet, um sie auf der Webseite anzuzeigen:



Beispiel 2: Statische Dateien lokal mit ReadStream lesen

In diesem Fall wird die bereitgestellte Datei über dem Stream ausgewählt und ihr Inhalt dann mithilfe von Ereignis-Listenern über dem Konsolenfenster angezeigt:

const fsObj = erfordern ( 'fs' ) ;

const streamObj = fsObj. createReadStream ( 'usecase.txt' ) ;

streamObj. An ( 'Daten' , ( Inhalt ) => {

Konsole. Protokoll ( Inhalt. toString ( ) ) ;

} ) ;

streamObj. An ( 'Ende' , ( ) => {

Konsole. Protokoll ( ' \N Ich habe die Akte fertig gelesen.' ) ;

} ) ;

streamObj. Rohr ( Verfahren. stdout ) ;

Die Beschreibung des obigen Codes lautet wie folgt:

  • Zuerst die ' fs Das Modul wird importiert und sein Objekt wird im Verzeichnis „ fsObj ” variabel.
  • Als nächstes verwenden Sie „ fsObj ” beruft sich auf die „ createReadStream() ”-Methode und übergibt den Pfad der Zieldatei, deren Inhalt abgerufen werden muss. Speichern Sie das Ergebnis der Methode in einer neuen Variablen „ streamObj “.
  • Hänge an ' An() ”-Methode mit „streamObj“, die eine Rückruffunktion aufruft, wenn „ Daten ” wird abgerufen. Die abgerufenen Daten werden als Parameter für die Rückruffunktion übergeben, die die Daten in das String-Format konvertiert und über die Konsole anzeigt.
  • Fügen Sie noch einmal das „ An() ” Methode mit „ streamObj ” und dieses Mal zeigt seine Rückruffunktion eine Abschlussmeldung an, wenn das Lesen der Datei abgeschlossen ist.

Die generierte Ausgabe nach der Ausführung des obigen Codes zeigt, dass die gelesenen Daten entlang der Endnachricht über der Konsole angezeigt wurden:

Hier dreht sich alles um die Verwendung lesbarer Streams in Node.js.

Abschluss

Um mit lesbaren Streams in Node.js zu arbeiten, ist die Methode „ createReadStream() Der Aufruf erfolgt über „ fs ” Modulobjekt. Als Methodenparameter wird dann der Zieldateipfad übergeben, in den der Inhalt geschrieben werden muss. Es kann mit dem „ .Rohr() ”-Methode, um weitere Aufgaben über die abgerufenen Daten auszuführen, wie z. B. das Schreiben des Inhalts in eine andere Datei. In diesem Beitrag wurde die Vorgehensweise beim Arbeiten mit lesbaren Streams veranschaulicht.