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 | 事件广播,可配置缓存 |