[英]Disposing Observable Inside Android Paging Library Data Source
我想觀察我的 PageKeyedDataSource 中的網絡調用更改,並在用戶退出導致數據源破壞的 Fragment 后處理 RxJava訂閱。
class ProjectDataSource : PageKeyedDataSource<Int, ProjectPresenter>(), KoinComponent {
...
override fun loadInitial(
params: LoadInitialParams<Int>,
callback: LoadInitialCallback<Int, ProjectPresenter>
) {
val subscription = mProjectRepository.getProjects(DEFAULT_TAKE, 0)
.subscribe(
{ projectPresenters ->
...
},
{ throwable ->
...
}
)
//Where to dispose `subscription`
}
...
}
我的Repository和DataSource都有 RxJava 訂閱,它們都對數據執行不同的操作。 存儲庫將遠程 model 轉換為演示者 model 和...
我不確定在 DataSource 中觀察數據是否是個好主意。
我無法提供任何實質性證據證明我的方式是“正確的方式”,但這是我的想法,並且通常在實施中遵循:
onCleared
中清除它們)loadInitial
和類似方法中運行阻塞操作),我正在通過數據源工廠從視圖 model 路由CompositeDisposable
實例.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.