2

目前我正在使用 NodeJS 流做很多工作。

我发现自己需要的一件事是“漏水管道”。

stream.PassThrough,但是当(且仅当)它没有发送到哪里时,它只会丢弃数据。

这样的事情是否已经存在?

有没有办法找出(在 a 内stream.Transform)连接了多少下游管道?

4

2 回答 2

3

我最终想出了一个解决方案:

LeakyTransform.prototype._transform = function(chunk, encoding, done) {
  if (this._readableState.pipesCount > 0) {
    this.push(chunk);
  }
  done();
}
于 2013-10-18T16:51:12.397 回答
0

PassThrough 实现 _transfrom 如下:

PassThrough.prototype._transform = function(chunk, encoding, cb) {
  cb(null, chunk);
};

我认为你需要的可以这样实现:

Leak.prototype._transform = function(chunk, encoding, cb) {
};

即无操作

于 2013-10-18T15:31:56.403 回答