Extensions
Overloaded Invoke operator
NetworkResponse
also has an overloaded invoke
operator. It returns the underlying data if the response is NetworkResponse.Success
, or null otherwise.
val usersResponse = usersRepo.getUsers().await()
println(usersResponse() ?: "No users were found")
Retrying network requests
The executeWithRetry
method shipped with this library can help you retry a network request without any boilerplate:
suspend fun fetchDetails() {
val response = executeWithRetry(times = 5) {
api.getDetails()
}
}