在我的项目中,我需要对API进行后续调用以从不同的课程中检索摘要,并将其全部存储在List中,如下所示:
List<Observable<Summaries[]>> summaries
然后,我需要对这些可观察对象执行操作,并使用以下内容:
Observable
.switchOnNext(Observable.from(summaries))
.doOnNext(summaries -> { actionToBeDone() })
但是,这会对列表中的每个Observable执行操作,而在项目实现中,我只能一次执行所有操作,所以我的问题是:
是否可以
List<Observable<Summaries[]>>
进入
Observable<Summaries[]>
如果没有,是否有解决方法?
答案 0 :(得分:3)
根据评论,您仍然必须使用concat
,然后使用collect
加入ArrayList
,然后使用toArray
map
ping:< / p>
Observable.concat(summaries)
.collect(ArrayList::new, (list, summary) -> list.addAll(Arrays.asList(summary)))
.map(list -> list.toArray(new Summaries[list.size()]))
.subscribe(/* ... */);