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"