Kotlin流中的single()和first()有什么区别


Kotlin流中的single((和first((之间有什么区别?你能举例说明什么时候使用什么变体吗?

回答我自己的问题。

CCD_ 1将收集流的第一个元素。

val f = flow {
var i = 0
while (true) {
emit(i)
i = i.inc()
}
}.first() // 0

single()等待流关闭,并返回此方法成功执行所必须包含的一个元素。如果流为空或有多个元素,则会引发异常。

callbackFlow {
send("Hello World")
close()
}.single() // "Hello World"

最新更新