transform

open fun <R> transform(scope: CoroutineScope, context: CoroutineContext, transformer: SuspendReserve.Transformer<Flow<T>, R>): R(source)

使用 SuspendReserve.Transformerflow 的值进行转化处理。 例如在 JVM 中,可以使用 SuspendReserves.flux() 转化为 reactor.core.publisher.Flux 或使用 SuspendReserves.list() 转化为 List

val flux: Flow<Int> = ...
val list = flux.transform(transformer = flux())

注意:部分转化器可能会要求运行时存在一些依赖,请注意参考它们的注释与说明。

建议主要使用 transform 转化为其他响应式类型,例如 reactor.core.publisher.Flux。 对列表等普通的集合类型可以选择其他可能有更多判断与优化的API, 例如 Java 使用者可选择 Collectables.toList

Parameters

scope

提供给 SuspendReserve.Transformer 的作用域。默认会使用 GlobalScope

context

提供给 SuspendReserve.Transformer 的作用域。默认会使用 EmptyCoroutineContext

transformer

转化器实现。


open fun <R> transform(transformer: SuspendReserve.Transformer<Flow<T>, R>): R(source)

使用 SuspendReserve.Transformerflow 的值进行转化处理。 更多说明参考全量参数的重载函数。

默认使用 GlobalScope 作为协程作用域、使用 EmptyCoroutineContext 作为协程上下文。

Java 友好的接口重载函数

See also