Peter
01/24/2024, 9:03 AMval flow = MutableStateFlow<String?>(null)
fun get(): Flow<String> {
// If not loaded yet
if (flow.value == null) {
val init = flowOf {
load()
emit(flow.value)
}
return combine(init, flow.asSharedFlow())
} else {
flow.asSharedFlow()
}
}
suspend fun load() = TODO()
Or maybe something like following?
flow.asSharedFlow().onStart { load() }
Mofe Ejegi
01/24/2024, 9:08 AMonStart
is a good option to process data before the flow is collected.