android - 导航到另一个片段时触发 API 调用
问题描述
我必须在导航到另一个片段的同时触发 API 请求。我当然明白java.lang.InterruptedException
了,因为屏幕正在关闭并且呼叫已被处理。
我使用 MVVM、Retrofit2、RxJava、Dagger 2。
我愿意接受任何解决方案。我不是专门寻找代码片段,如果您与我分享您的见解,您对这个问题的首选方法,我会很高兴。
我的网络模型如下:
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()
}
解决方案
您可以尝试WorkManager,或者如果它是一次性的,您也可以使用 IntentService。
推荐阅读
- javascript - 基于 PHP 或 jQuery 中日期条件的 SQL 联合表
- image - 如何将我的图像矢量大小从 64,128 转换为 64*128 的矢量
- ios - Swift 3.0 不受支持,即使项目设置为 Swift 5
- php - Dropbox API cURL 请求错误:“选项:预期数组,得到字符串”
- excel - 具有条件的工作表列表中的几次 Excel 平均值
- javascript - 当用户在输入字段中输入值时,使用 javascript 格式化输入值
- vue.js - 计算属性的返回值在模板中使用时不会改变(没有组合 API 的 Vue3)
- matlab - 如何将unnest单元阵列更改为排队的阵型?
- javascript - 表格没有在 jQuery 中动态附加
- azure - Azure 内部负载均衡器能否拥有属于 VNET 中不同子网的后端?