如何将IEnumerable <Task >转换为IObservable
是否有内置的方法将IEnumerable <Task >转换为IObservable 。 顺序并不重要,只是我得到的东西,但最好是因为它们已经完成。
如果它还不存在,那么实现它的好方法是什么?
我相信这会奏效
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开始,有一种更简单的方法:
上述就是C#学习教程:如何将IEnumerable <Task >转换为IObservable分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
var query = tasks.ToObservable().Merge();
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1014002.html