Skip to content

Kotlin Flow 数据流

基本概念

Flow 是 Kotlin 协程中的冷数据流,按需发射值。

创建 Flow

kotlin
fun countdown(): Flow<Int> = flow {
    for (i in 5 downTo 1) {
        emit(i)
        delay(1000)
    }
}

操作符

kotlin
countdown()
    .map { it * 10 }
    .filter { it > 20 }
    .collect { println(it) }

StateFlow vs SharedFlow

类型用途
StateFlow状态持有,始终有值
SharedFlow事件广播,可配置缓存

基于 VitePress 构建