反应性扩展文档

时间:2016-08-12 01:25:35

标签: system.reactive msdn

我遇到了一个我以前没见过的RX方法,然后去MSDN查看可能存在的任何文档。

方法是

public static IObservable<IList<TSource>> CombineLatest<TSource> (this IEnumerable<Iobservable<TSource>> sources)

我熟悉一个将Observable作为参数和转换函数并返回一个Observable的CombineLatest。

不幸的是,MSDN只有"Observable.CombineLatest<TFirst, TSecond, TResult> Method"的页面。

我是否在寻找错误的地方或者我错过了一个更好的地方来查看除MSDN以外的RX API文档?

1 个答案:

答案 0 :(得分:1)

MDSN文档非常糟糕。我找到的两个最佳网站是http://introtorx.comhttp://reactivex.io。这两个网站都没有关于超载的信息。 :)

基本上每当一个observable发出一个值后,每当其中一个流发出一个值时,最新组合会发出一个新列表。列表内容是来自每个子流的最新值的列表。如果流完成,则该值将永久传播。如果流错误,则合并流错误。

您可以在LinqPad中运行以下内容来演示它的作用:

var letters = new Subject<string>();
var numbers = new Subject<string>();

var observables = new IObservable<string>[] { letters, numbers };
var combineLatest = observables.CombineLatest();
combineLatest.Dump("CombineLatest");

numbers.OnNext("0");
numbers.OnNext("1");
letters.OnNext("A");
letters.OnNext("B");
numbers.OnNext("2");
letters.OnNext("C");
letters.OnNext("D");
numbers.OnCompleted();
letters.OnNext("E");
letters.OnError(new Exception());

大理石图:

Letters: ------A--B-----C--D-----E--x
Numbers: 0--1--------2--------|
--------
Combine: ------A1-B1-B2-C2-D2----E2-x
相关问题