2012-11-21 59 views

回答

7

我相信這會工作

tasks.Select(t => Observable.FromAsync(() => t)) 
    .Merge(); 

每個任務將其結果發送到可以以任意順序完成它們的可觀察序列。您可以訂閱該序列,並以此方式執行任何您想要的結果。

1

我相信你在找什麼可能是Observable.Start()

然後,您可以追加.Subscribe(callbackMethod)到最後,如果需要指定一個回調。

2

你可以這樣來做:

var query = tasks.ToObservable().SelectMany(task => task.ToObservable()); 

,或者,像這樣:

var query = 
    from t in tasks.ToObservable() 
    from i in t.ToObservable() 
    select i; 
0

爲Rx 2.0的,有一個稍微簡單的方法:

var query = tasks.ToObservable().Merge(); 
相關問題