从多个可观察对象中消耗最快的项目

Consume fastest item from multiple observables

我有多个 observable,它们代表具有单一结果的长期任务。

Observable<String> longOp1 = getDataFromServer(server1);
Observable<String> longOp2 = getDataFromServer(server2);
Observable<String> longOp3 = getDataFromServer(server3);

如何运行并行执行所有任务并只消耗最快的结果,同时丢弃其他可观察值?

试试这个:

Observable<String> quickest = Observable.amb(longOp1, longOp2, longOp3);

现在,我使用 Rx.NET 在 C# 中编程,所以我的语法可能有点错误,但这应该非常接近。

.amb(...) 运算符获取第一个结果并处理所有源可观察对象。