2016-10-01 4 views
1

In NodeJS habe ich dies mit Express.js (wo res ein beschreibbarer Strom)Wie schreibe ich in einen Stream nach der Verrohrung?

const readableStream = someAsyncTask(); 
readableStream.pipe(res); 
readableStrean.on('end',() => { 
    res.write('a bit more'); 
    res.end(); 
}); 

Dies ist resultierend:

uncaught exception Error: write after end

Also gehe ich davon aus dem Rohr des beschreibbare Strom zu schließen verursacht. Wie kann ich den lesbaren Stream an die Ausgabe leiten und dann, wenn dieser Stream endet, zusätzliche Daten an die Ausgabe streamen?

+0

Verdammt, die ziemlich offensichtlich war, war es nicht. Möchten Sie das als Antwort posten? – Andrew

Antwort

0

Vom documentation

readable.pipe(destination[, options])

  • destination<stream.Writable> The destination for writing data
  • options <Object> Pipe options
    end<Boolean> End the writer when the reader ends. Defaults to true.
    ...

Wenn Sie es nicht wollen, wenn Rohrleitungen beenden, übergeben {end : false} als Optionen

readableStream.pipe(res, { end: false }); 
Verwandte Themen