好的,我认为这应该可以解决问题的第一部分:
请注意,对flatMap的第二次调用有两个参数 – 有一个flatMap版本,它不仅为每个输入项生成一个Observable,而且还使用第二个函数,该函数又将结果Observable中的每个项与相应的输入组合在一起项目.
请查看此标题下的第三个图形,以获得直观的理解:
Observable obeservableOfAs = retrofitClient.getListOfAs()
.flatMap(new Func1, Observable>() {
@Override
public Observable call(List listOfAs) {
return Observable.from(listOfAs);
}
)}
.flatMap(new Func1>() {
@Override
public Observable call(A someA) {
return retrofitClient.getTheAaForMyA(someA);
}
},
new Func2() {
@Override
public A call(A someA, AA theAaforMyA) {
return someA.set(theAaforMyA);
}
})
...
从这里开始,我仍然不确定你想如何继续:你准备好只订阅生成的Observable of As吗?这样你就可以处理每个As(onNext)或者等到完成所有(onCompleted).
<