【发布时间】:2021-09-08 00:08:25
【问题描述】:
我必须在导航到另一个片段的同时触发一个 API 请求。我当然得到java.lang.InterruptedException,因为屏幕正在关闭并且呼叫已被释放。
我使用 MVVM、Retrofit2、RxJava、Dagger 2。
我愿意接受任何解决方案。我不是专门寻找代码 sn-ps,如果您能与我分享您的见解和解决此问题的首选方法,我会很高兴。
我的网络模型如下:
interface Api {
companion object {}
@PUT()
@Headers()
fun setSomething(@Body something: Something): Completable
}
class Interactor(private val api: Api) {
fun setSomething(something: Something): Completable {
return api.setSomething(something)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
}
}
private fun setSomething(something: Something) {
interactor.setSomething(something)
.subscribe({
}, { error ->
Timber.e(error)
}).dispose()
}
【问题讨论】:
标签: android mvvm retrofit2 rx-java okhttp