我想使用密封类处理 api 响应
sealed class Result<out T> {
data class Success<out T>(val value: T) : Result<T>()
data class Failure<out T>(val throwable: Throwable) : Result<T>()
}
我的 api 正常工作
@POST("/api/doctor_app/UpdateProfile")
fun UpdateProfile(@Body request: Doctor): Single<GenericResponse>
当我将我的 api 更新为
@POST("/api/doctor_app/UpdateProfile")
fun UpdateProfile(@Body request: Doctor): Single<Result<GenericResponse>>
无法调用没有参数的私有 com.utils.Result()
我怎样才能实现响应
configService.UpdateProfile(doctor)
.subscribeOnIO()
.map {
when(it){
is Result.Success -> Result.Success(it.value)
is Result.Failure -> Result.Failure<GenericResponse>(it.throwable)
}
}
在哪里订阅OnIO
fun <T> Single<T>.subscribeOnIO(): Single<T> {
return this.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
}