我有这个API接口
@GET("api/..../{commentId}")
Observable<DiscussionPostRoot> getCommentsInPost(@Path("commentId") String commentId)
DiscussionPostRoot有一些字段和List对象,对于这个列表的每个对象,我想调用相同的API调用但具有不同的值。目前我正在做foreach
,但API结果来自不同的时间,我的适配器获得随机值。该怎么办 ;) ?我更喜欢没有lambda的答案,但无论如何可以有lambda :)
答案 0 :(得分:0)
如果您正在使用RxJava(并且通过您的API中的Observable进行判断,那么您可以使用这样的流操作来解决它:
https://gist.github.com/tnovoselec/73ba4946d4116e8f05946b5e40a3a031
无论如何,重点是先拉根对象,然后从中创建一个新流(第一个flatmap),然后为每个对象创建一个新的observable来拉取注释(第二个flatmap),最后将所有内容收集到一个列表中可以传递给您的适配器。
另外,不要忘记添加正确的observeOn()调用,以便在UI线程上获得结果。