2012-11-21 21 views

Odpowiedz

7

Wierzę, że to będzie działać

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

Każde zadanie będzie wysyłać swoje wyniki do zaobserwowania sekwencji w dowolnej kolejności one kompletne. Możesz zapisać się do sekwencji i robić, co chcesz, z wynikami w ten sposób.

1

wierzę co szukasz może być Observable.Start()

Następnie można dołączyć .Subscribe(callbackMethod) do końca i określ zwrotnego w razie potrzeby.

2

Można zrobić to w ten sposób:

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

Lub alternatywnie, jak to:

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

Od Rx 2.0, jest nieco łatwiejszy sposób:

var query = tasks.ToObservable().Merge(); 
Powiązane problemy