目前我正在使用 NodeJS 流做很多工作。
我发现自己需要的一件事是“漏水管道”。
像stream.PassThrough
,但是当(且仅当)它没有发送到哪里时,它只会丢弃数据。
这样的事情是否已经存在?
有没有办法找出(在 a 内stream.Transform
)连接了多少下游管道?
目前我正在使用 NodeJS 流做很多工作。
我发现自己需要的一件事是“漏水管道”。
像stream.PassThrough
,但是当(且仅当)它没有发送到哪里时,它只会丢弃数据。
这样的事情是否已经存在?
有没有办法找出(在 a 内stream.Transform
)连接了多少下游管道?
我最终想出了一个解决方案:
LeakyTransform.prototype._transform = function(chunk, encoding, done) {
if (this._readableState.pipesCount > 0) {
this.push(chunk);
}
done();
}
PassThrough 实现 _transfrom 如下:
PassThrough.prototype._transform = function(chunk, encoding, cb) {
cb(null, chunk);
};
我认为你需要的可以这样实现:
Leak.prototype._transform = function(chunk, encoding, cb) {
};
即无操作