2017-02-10 3 views
0

bin ich ziemlich neu auf Knoten und bin versucht, Streaming zu lernen; Bitte korrigieren Sie mich, wenn mein Verständnis fehlerhaft ist.node.js - res.end vs fs.createWriteStream

Mit fs.createReadStream und fs.createWriteStream zusammen mit .pipe Verfahren wird wirksam jede Art von Datenstrom. Auch res.end-Methode verwendet Streaming standardmäßig.

So konnten wir verwenden fs.createReadStream zusammen mit res.end dem gleichen Streaming-Effekt zu erzeugen? Wie würde das aussehen?

Unter welchen Umständen würden Sie normalerweise res.end verwenden?

Danke

Antwort

0

Sie pipe wie verwenden:

readStream.pipe(res); 

Um die Antwort etwas lesbaren Stream zu streamen.

Siehe this answer für ein funktionierendes Beispiel, es zu benutzen.

Im Grunde ist es so etwas wie:

var s = fs.createReadStream(file); 
s.on('open', function() { 
    s.pipe(res); 
}); 

sowie einige Fehlerbehandlung und MIME-Typen unterstützen - dies für die vollständige Code sehen:

, wo man es verwendet finden in drei Beispiele unter Verwendung von drei Knotenmodule:

  1. express
  2. connect
  3. http