鉴于这段代码:
var loadAll =
Observable.ForkJoin(
service1.FindBooksAsObservable().Select(s => s),
service2.FindBooksAsObservable().Select(s => s),
service3.FindBooksAsObservable().Select(s => s)
);
loadAll.Subscribe(
result =>
{
var aggregatedListOfBooks = result.SelectMany(b => b);
});
如您所见,问题在于每个FindBooksAsObservable()方法都返回一个IObservable<IEnumerable<Book>>
,因此Subscribe()中的结果变量是一个 数组。IEnumerable<Book>
有没有其他方法可以聚合ForkJoin()的结果?我希望将Merge()之类的东西与 ForkJoin 一起使用。