我有多个observable,代表单项结果的长任务。
Observable<String> longOp1 = getDataFromServer(server1);
Observable<String> longOp2 = getDataFromServer(server2);
Observable<String> longOp3 = getDataFromServer(server3);
如何并行运行所有任务并仅消耗最快的结果,还丢弃其他可观察对象?
答案 0 :(得分:0)
试试这个:
Observable<String> quickest = Observable.amb(longOp1, longOp2, longOp3);
现在,我使用Rx.NET在c#中编程,所以我的语法可能略有错误,但这应该非常接近。
.amb(...)
运算符获取第一个结果并处理所有源可观察量。