【发布时间】:2017-02-24 10:44:43
【问题描述】:
我试图弄清楚如何获取返回项目列表的响应,然后对将返回对象的每个项目发出请求,然后将所有响应组合到一个列表中。
我已经通过一次发出一个来实现它,但我想将它们全部打包回一个列表中。
到目前为止我有这个
getListOfData()
.flatMapIterable(list -> list)
.flatMap(item -> getData(item)
我尝试过 toList() 但我知道这需要一个完整的信号才能返回任何内容。
我正在使用 rxjava 2,我觉得我在 rxjava 1 中使用 toList() 执行了此操作,并且按预期工作。任何帮助将不胜感激!
【问题讨论】:
-
好吧,除非您想返回一个包含尚未返回的项目的洞的
List,否则toList是要走的路。当所有元素都收到数据后,您将获得列表 -onComplete直到列表传播后才会传播。 -
这就是我希望它的行为方式,但我没有得到任何东西,
onComplete似乎永远不会发生,但如果我将它们设为个体,我可以看到我从第一次调用中得到 x 响应然后发出 x 个项目 -
发出的项目与 onComplete 不同,您确定每个 Observable 都会发出 onComplete 事件吗?
标签: android rx-java rx-android rx-java2