虽然我的示例使用Trumpet,但此问题对任何双工流都有效。
我使用小号将一大块html添加到正文中,但我似乎无法找到有关如何预先添加到双工流的参考。
我从一个文件中读取,然后将流管道传递给它自己,这有效,但随后流不会结束。
fs.readFile(headerPath, 'utf8', (err, header) => {
const stream = node.createStream();
stream.write(header);
stream.pipe(stream);
return stream.on('end', () => {
stream.end('');
});
});
答案 0 :(得分:1)
您可以使用可写的pipe
事件作为前缀,该事件也在双工和转换流中发出。
以下是process.stdout
(这是Duplex
流实例)的示例:
process.stdout.on('pipe', function() {
// Prepend some text
this.write('header');
});
fs.createReadStream(file)
.pipe(process.stdout);