ahmad
05/04/2020, 12:49 PMinterface Service {
@GET("topics/{id}")
suspend fun getTopic(): NetworkResponse<Topic, TopicError>
}
class Repository {
val tpoic = service.getTopic()
when (tpoic) {
is NetworkResponse.Success -> // request succeded
is NetworkResponse.ApiError -> // request failed
is NetworkResponse.NetworkError -> // network error
is NetworkResponse.UnknownError -> // unknown error happened
}
}
https://medium.com/@melegy/create-retrofit-calladapter-for-coroutines-to-handle-response-as-states-c102440de37a