2017-01-11 3 views
1

Как создать поток преобразования, где единственное изменение, которое он будет влиять, - это добавление строки в конец конца входящего читаемого потока.Node transform stream: append string to end

Например, input.txt содержит abcdef.

fs.createReadStream('input.txt', {encoding: 'utf8'}) 
    .pipe(appendTransform) 
    .pipe(fs.createWriteStream('output.txt', {encoding: 'utf8'})); 

Что я могу использовать для appendTransform, так что output.txt содержит abcdefghi.

ответ

1

Создать преобразование потока:

var Transform = require('stream').Transform; 

var appendTransform = new Transform({ 
    transform(chunk, encoding, callback) { 
     callback(null, chunk); 
    }, 
    flush(callback) { 
     this.push('ghi'); 
     callback(); 
    } 
});