在以下条件下创建 Observable 时遇到问题:
- 从 API 获取项目。API 可以返回 0 到 10 个项目。
- 如果返回的项目少于 10 个,请从 API 请求更多项目。
- 重复 5 次或直到收集到 10 个或更多项目。
到目前为止,我有这个 Observable:
fetchData().flatMapIterable { dataList }
.distinct()
.filter { --some filtering--- }
.repeat(5)
.take(10)
.toList()
这工作正常,一个挑剔。如果 API 返回 9 个项目,然后返回 10 个项目,则 Observable 返回 10 个项目。剩下的 9 个被丢弃,我不希望这样。有什么办法让它这样工作吗?