Logan Knight
val someExternalApi = SomeExternalApi() fun flowExample(): Flow<Int> = flow { someExternalApi.addListener { scope.launch { emit(it) } } } flowExample().collect { println(it) }
val _events = MutableSharedFlow<Int>() val events = _events.asSharedFlow() val someExternalApi = SomeExternalApi() someExternalApi.addListener { scope.launch { _events.emit(it) } } events.collect { println(it) }
val someExternalApi = SomeExternalApi() fun flowExample(): Flow<Int> = callbackFlow { val callback: (int: Int) -> Unit = { offer(it) } someExternalApi.addListener(callback) } flowExample().collect { println(it) }
sharedFlow
for broadcasting events that happen inside an application to subscribers that can come and go
A modern programming language that makes developers happier.