Kotlin coroutines 创建Kotlin协同程序的实例';s流类似于频道或广播频道
与频道和广播频道类似,流是否也可以在多个位置实例化和重用 创建流的一般用法是包装逻辑以在流的主体内发出数据并返回 片段:Kotlin coroutines 创建Kotlin协同程序的实例';s流类似于频道或广播频道,kotlin-coroutines,kotlin-flow,Kotlin Coroutines,Kotlin Flow,与频道和广播频道类似,流是否也可以在多个位置实例化和重用 创建流的一般用法是包装逻辑以在流的主体内发出数据并返回 片段: fun listenToDataChanges() : Flow<T> { return flow { dataSource.querySomeInfo()?.consumeEach { data-> if (someCondition) {
fun listenToDataChanges() : Flow<T>
{
return flow {
dataSource.querySomeInfo()?.consumeEach {
data->
if (someCondition) {
emit(data)
}
}
}
}
fun listenToDataChanges():流
{
回流{
dataSource.querySomeInfo()?.consumeEach{
数据->
如果(某些条件){
发射(数据)
}
}
}
}
每次调用listenToDataChanges()时,都会创建一个新的流实例并进行多个订阅。相反,是否可以创建和重用实例以避免多次订阅?是的,您只需要将其存储在变量中,而不是每次都重新创建流 顺便说一句,你可以这样简化:
val customFlow = dataSource.querySomeInfo()?.filter { someCondition }
是的,您只需要将其存储在变量中,而不是每次都重新创建流 顺便说一句,你可以这样简化:
val customFlow = dataSource.querySomeInfo()?.filter { someCondition }