Skip to content

Instantly share code, notes, and snippets.

@JoseAlcerreca
Last active May 11, 2021 12:21
Show Gist options
  • Save JoseAlcerreca/9075046756234b36610869fc6436b683 to your computer and use it in GitHub Desktop.
Save JoseAlcerreca/9075046756234b36610869fc6436b683 to your computer and use it in GitHub Desktop.
class MyViewModel(authManager..., repository...) : ViewModel() {
private val userId: Flow<UserId> = authManager.observeUser().map { user -> user.id }
val result: StateFlow<Result<Item>> = userId.mapLatest { newUserId ->
repository.fetchItem(newUserId)
}.stateIn(
scope = viewModelScope,
started = WhileSubscribed(5000),
initialValue = Result.Loading
)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment