转换 Stream。
当流调用带有 Stream.transform 的方法,并且传递了 StreamTransformer 时,流将调用提供转换器的 bind 方法。然后从 Stream.transform 方法返回结果流。
从概念上讲,转换器就是一个将 Stream 转换为 Stream 的函数,被封装成一个类中。
编写可多次使用的转换器是一种良好的做法。
Stream 上的其他转换方法,如 Stream.map、Stream.where 或 Stream.expand,可以使用 Stream.transform 实现。因此,StreamTransformer 非常强大,但使用起来通常也更复杂一些。
StreamTransformer.fromHandlers 构造函数允许传入单独的回调来响应用事件、错误和流的结束。StreamTransformer.fromBind 构造函数通过调用构造函数传递的函数来创建一个 StreamTransformer
,其 bind 方法将被实现。
构造函数
-
StreamTransformer(StreamSubscription<
T> onListen(Stream<S> stream, bool cancelOnError)) - 根据给定的
onListen
回调创建一个 StreamTransformer。constfactory -
StreamTransformer.fromBind(Stream<
T> bind(Stream<S> )) - 根据
bind
回调创建一个 StreamTransformer。factory -
StreamTransformer.fromHandlers({void handleData(S data, EventSink<
T> )?, void handleError(Object error, StackTrace stackTrace, EventSink<T> )?, void handleDone(EventSink<T> )?}) - 创建一个将事件委托给指定函数的 StreamTransformer。factory
属性
- hashCode → int
- 此对象的哈希码。无设置器继承
- runtimeType → Type
- 表示此对象运行时类型的表示。无设置器继承
方法
-
bind(
Stream< S> ) → Stream<T> - 转换提供的
stream
。 -
cast<
RS, RT> () → StreamTransformer< RS, RT> - 提供此流转换器的
StreamTransformer<RS, RT>
视图。 -
noSuchMethod(
Invocation) → dynamic - 当一个不存在的方法或属性被访问时,将会调用。继承
-
toString(
) → String - 此对象的字符串表示形式。继承
运算符
-
operator ==(
Object) → bool - 等于运算符。继承
静态方法
-
castFrom<
SS, ST, TS, TT> (StreamTransformer< SS, ST> ) → StreamTransformer<TS, TT> - 将
source
转换为StreamTransformer
。