FlowSynchronouslyIterateCollectable
FlowSynchronouslyIterateCollectable 接口,为处理流数据提供了一套方法。 扩展自 SynchronouslyIterateCollectable 接口。
FlowSynchronouslyIterateCollectable 直接引用操作 Flow , 请尽可能避免对 FlowSynchronouslyIterateCollectable 的重复操作。
注意:接口实现中,一些与挂起函数相关的异步操作会通过 runInNoScopeBlocking 函数转化为同步操作,这可能会造成一定的性能损耗。
Parameters
泛型参数,表示集合中元素的类型。
Inherited functions
将 Iterable 转换为 IterableCollectable 的函数.
将 Collectable 转化为 Flux。 需要环境中存在 kotlinx-coroutines-reactor
依赖。
将一个 Collectable 转化为 Stream。 如果是 IterableCollectable 或 SequenceCollectable, 则会使用它们的 asSequence
进行转化, 否则会使用 Collectable 中合适的方法进行适当的阻塞转化。
将一个 Collectable 转化为可以提供同步迭代能力的迭代器 SynchronouslyIterateCollectable。
使用 Collector 异步地收集 Collectable 中的元素。 如果 scope 为 null
,则会视情况使用 GlobalScope 或使用 CompletableFuture.supplyAsync。
将 Collectable 阻塞地收集为 List。 会根据类型适当地优化与避免阻塞挂起操作。
将 Collectable 异步地收集为 List。 如果 scope 为 null
,则会视情况使用 GlobalScope 或使用 CompletableFuture.supplyAsync。
使用 SuspendReserve.Transformer 对 flow 的值进行转化处理。 更多说明参考全量参数的重载函数。
使用 SuspendReserve.Transformer 对 flow 的值进行转化处理。 例如在 JVM 中,可以使用 SuspendReserves.flux()
转化为 reactor.core.publisher.Flux
或使用 SuspendReserves.list()
转化为 List。
使用 SuspendReserve.Transformer 对 Collectable.asFlow 的结果进行转化, 例如可以使用 SuspendReserves.flux()
转化为 Flux 或 SuspendReserves.list()
转化为 List。 注意:部分转化器可能会要求运行时存在一些依赖,请注意参考它们的注释与说明。