代码:
a.pipe(b).pipe(c).pipe(d);
我是节点新手。我读到对于管道,源应该是可读流,目标应该是可写流。
- 如果您看到上面的代码,我的假设是“a”是可读流,“b”是可写流。如果 'b' 是可写流,如何进一步通过管道传输它?
- 'b' 可写流如何通过管道传输到'c'?
- 流和缓冲区很难理解。有什么好的文档可以阅读吗?
代码:
a.pipe(b).pipe(c).pipe(d);
我是节点新手。我读到对于管道,源应该是可读流,目标应该是可写流。
广告1:是的,a
必须是可读流,并且b
必须是可写流。但是,流不一定是 / 或,它们也可以同时是:可读和可写。因此,b
两者c
都是,因此您可以通过管道输入它们,也可以从它们中提取。从技术上讲,它们是所谓的双工流。
广告2:现在应该回答;-)。
广告 3:是的,您绝对应该查看@substack(又名 James Halliday)的流手册。有关缓冲区,请参阅NodeJits 的如何在 Node.js 中使用缓冲区。