我们说我有' n'数据源(例如REST API):
let data = [{ a: 3, b: 2, c: 5, d: 6, e: 8 }, { a: 1, b: 5, c: 3, d: 1, e: 2 }],
result = [].concat.apply([], data.map(i => [i.a, i.b, i.c, i.d]));
console.log(result);
其中' n'相对较小(~10)
我想要做的是获取所有这些源,并行运行它们并接收包含所有可观察数据的所有DataItem的Observable<List<DataItem>> source1 = api.source1();
Observable<List<DataItem>> source2 = api.source2();
Observable<List<DataItem>> source3 = api.source3();
...
Observable<List<DataItem>> sourcen = api.sourcen();
,但仅限于每次网络调用完成时。
提前致谢
答案 0 :(得分:2)
可以做类似的事情:
List<Observable<?>> obsList = Arrays.asList(source1, source2, source3, ...);
Observable.zip(obsList, ...