gdb*_*dbj 17 javascript node.js
学习node.js. 小号显然是通过将流管道回自身来工作,因此可以输出处理后的数据.这对我来说毫无意义,因为它似乎就像将流的两端连接到自身一样.小号如何区分前处理数据和后处理数据?即,为什么不loud.pipe(...).pipe(loud)导致某种形式的无限循环处理?
var trumpet = require('trumpet');
var through = require('through');
var tr = trumpet();
var loud = tr.select('.loud').createStream();
loud.pipe(through(function (buf) {
this.queue(buf.toString().toUpperCase());
})).pipe(loud);
process.stdin.pipe(tr).pipe(process.stdout);
Run Code Online (Sandbox Code Playgroud)
Jos*_* Mu 19
我有同样的困惑:
davecocoa在github上的nodeschool.io讨论主题上对我这么说.以下是https://github.com/nodeschool/discussions/issues/346的摘录
我想你可能会混淆两个流loud和tr.
tr 是主要的小号流
stdin到它的输入,我们将其输出连接到stdout我们loud通过要求tr选择类大声的html元素来创建
tr行为是这样的,当html被流式传输到它时,如果有类大声的元素,则输出它们loud,将它们发送到你为了使文本大写而构建loud的直流,然后将它们发送回到输入,其中将它们重新插入tr最初收到并输出的html中tr.
我想要注意的一件重要的事情是,虽然loud它有重要的联系tr,但它们实际上并没有用管道连接在一起.
| 归档时间: |
|
| 查看次数: |
2477 次 |
| 最近记录: |