【发布时间】:2018-07-05 07:39:56
【问题描述】:
我有代码在 while 循环中执行阻塞操作(从服务器下载一些数据)。客户不知道每一步要返回多少物品。下载 N 个项目时循环中断。
val n = 10
val list = ArrayList<T>()
while (list.size < n) {
val lastItemId = list.last()?.id ?: 0
val items = downloadItems(lastItemId)
list.addAll(items)
}
downloadItems 执行阻塞 HTTP 调用并返回列表。现在让我们假设downloadItems 发生变化,新的返回类型是Observable<Item>。如何更改代码以使用 RxJava 而不执行类似 blockingGet 的操作?
【问题讨论】:
标签: android rx-java rx-java2 rx-kotlin rx-kotlin2