-
Notifications
You must be signed in to change notification settings - Fork 22
Sequential network request
Devrath edited this page Jun 15, 2021
·
1 revision
- This use case performs two network requests sequentially.
- First it retrieves recent Android Versions and then it requests the features of the latest version.
class Perform2SequentialNetworkRequestsViewModel(
private val mockApi: MockApi = mockApi()
) : BaseViewModel<UiState>() {
fun perform2SequentialNetworkRequest() {
uiState.value = UiState.Loading
viewModelScope.launch {
try {
val recentVersions = mockApi.getRecentAndroidVersions()
val mostRecentVersion = recentVersions.last()
val featuresOfMostRecentVersion =
mockApi.getAndroidVersionFeatures(mostRecentVersion.apiLevel)
uiState.value = UiState.Success(featuresOfMostRecentVersion)
} catch (exception: Exception) {
uiState.value = UiState.Error("Network Request failed")
}
}
}
}