におけるForkJoinの結果を集計しますSubscribe()はIEnumerable<Book>
の配列です。は、コードのこの部分を考慮受信
ForkJoin()の結果を集計する他の方法はありますか? Merge()とForkJoinのようなものを使うことを望んでいました。
におけるForkJoinの結果を集計しますSubscribe()はIEnumerable<Book>
の配列です。は、コードのこの部分を考慮受信
ForkJoin()の結果を集計する他の方法はありますか? Merge()とForkJoinのようなものを使うことを望んでいました。
すべての3つのサービスがBooks
のリストを返し、あなたがリストをマージするSelectMany
を使用することができますと仮定:
IObservable<Book> loadAll =
Observable.ForkJoin(
service1.FindBooksAsObservable().Select(s => s),
service2.FindBooksAsObservable().Select(s => s),
service3.FindBooksAsObservable().Select(s => s)
)
.Select(books => books.SelectMany(list => list).ToList());
loadAll.Subscribe(
book => { /* will be called once with a single list of all items */ });
リストする出力を必要としない場合は、ToList()
呼び出しを削除することができます。
Observable.ForkJoin
はReactive Extensions(Rx)(v2.1.30214.0)の最新の安定版ではありません。 2013年6月現在のForkJoinは、Rxの実験版のみです。
デイブ・セクストンは、周りの仕事を示唆した: http://social.msdn.microsoft.com/Forums/en-US/rx/thread/3cfccb74-9ce3-47dc-94fd-cf60270c1ed5
はありません、実際に私がしたいしたい単一のリスト内のすべてのサービスからのすべての書籍を受け取ることになっています。 –
@maelcumx - 重複を削除する必要はないと思っていますが、更新を参照してください。 –