有没有一种内置的方法可以将IEnumerable<Task<T>>转换为IObservable<T>?顺序无关紧要,只要我能够获取它们即可,最好是在它们完成时获取。
如果它目前不存在,有什么好的方法可以实现它吗?
如果它目前不存在,有什么好的方法可以实现它吗?
我相信这会起作用
tasks.Select(t => Observable.FromAsync(() => t))
.Merge();
var query = tasks.ToObservable().SelectMany(task => task.ToObservable());
var query =
from t in tasks.ToObservable()
from i in t.ToObservable()
select i;
我相信你可能在寻找的是Observable.Start()
然后,你可以在末尾添加.Subscribe(callbackMethod)
,并根据需要指定回调。
从 Rx 2.0 开始,有一个稍微更简单的方法:
var query = tasks.ToObservable().Merge();