响应式扩展文档



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

方法为

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

我熟悉一个以一个可观察对象作为参数和一个转换函数并返回一个可观察对象的组合函数。

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

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

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

基本上,一旦每个可观察对象都发出了一个值,那么每当其中一个流发出一个值时,combine latest就会发出一个新的列表。列表内容是来自每个子流的最新值的列表。如果流完成,则该值将永远传播。如果一个流出错,则合并后的流出错。

您可以在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

最新更新