transform<S>方法

Stream<S> transform<S>(
  1. StreamTransformer<T, S> streamTransformer
)

streamTransformer应用到这个流上。

返回转换后的流,即streamTransformer.bind(this)的结果。此方法允许以链式方式调用streamTransformer.bind,如下所示:

stream.map(mapping).transform(transformation).toList()

这比直接调用bind更方便。

streamTransformer可以返回任何流。返回的流是否为广播流,以及它将包含哪些元素,完全取决于转换。

此方法应始终用于处理整个流代表单个值的转换,可能由于传输而分成几个部分,例如从磁盘读取的文件或通过网络获取的数据。然后,转换将产生一个新的流,该流增量地转换流值(可能使用Converter.startChunkedConversion)。结果流可能再次是结果的块,但不一定与源字符串的特定事件相对应。

实现

Stream<S> transform<S>(StreamTransformer<T, S> streamTransformer) {
  return streamTransformer.bind(this);
}