【发布时间】:2020-08-27 08:03:42
【问题描述】:
我有一些东西。而且我必须尽快编写返回第一项的函数,并且随后对该函数的所有调用都返回流的最新值。
val f = flow {
emit(1)
delay(100)
emit(2)
}
suspend fun getLatest() = f.conflate().first() // this should be fixed, something like latest()
suspend fun main() {
println(getLatest())
delay(100)
println(getLatest())
delay(100)
println(getLatest())
delay(100)
println(getLatest())
}
输出一开始应该是 1,过了一段时间后,总是 2。上面的代码总是返回 s,我不明白为什么。
【问题讨论】: