pipe 方法

Future pipe(
  1. StreamConsumer<T> streamConsumer
)

将此流的事件传入到 streamConsumer 中。

此流的所有事件都将通过 StreamConsumer.addStream 添加到 streamConsumer 中。当此流成功添加到其中时,即当 addStream 返回的 future 完成(不存在错误)时,streamConsumer 被关闭。

返回一个 future,当此流被消耗并且消费者被关闭时完成。

返回的 future 的完成结果与 StreamConsumer.close 返回的 future 的完成结果相同。如果对 StreamConsumer.addStream 的调用失败,则此方法也将以相同的方式失败。

实现

Future pipe(StreamConsumer<T> streamConsumer) {
  return streamConsumer.addStream(this).then((_) => streamConsumer.close());
}