web-dev-qa-db-fra.com

Comment envelopper un tampon en tant que flux lisible stream2?

Comment puis-je transformer un tampon node.js en un flux lisible après avoir utilisé l'interface stream2?

J'ai déjà trouvé cela réponse et le module stream-buffers mais ce module est basé sur l'interface stream1.

59
Jerome WAGNER

Avec streamifier , vous pouvez convertir des chaînes et des tampons en flux lisibles avec la nouvelle API de flux.

15
Gabriel Llamas

Le moyen le plus simple consiste probablement à créer une nouvelle instance de flux PassThrough et à simplement y insérer vos données. Lorsque vous le redirigez vers d'autres flux, les données seront extraites du premier flux.

var stream = require('stream');

// Initiate the source
var bufferStream = new stream.PassThrough();

// Write your buffer
bufferStream.end(new Buffer('Test data.'));

// Pipe it to something else  (i.e. stdout)
bufferStream.pipe(process.stdout)
154
zjonsson

Comme l'a suggéré natevw, il est encore plus idiomatique d'utiliser un stream.PassThrough, et end avec le tampon:

var buffer = new Buffer( 'foo' );
var bufferStream = new stream.PassThrough();
bufferStream.end( buffer );
bufferStream.pipe( process.stdout );

C'est aussi ainsi que les tampons sont convertis/canalisés dans vinyl-fs .

32
morris4