Observables Generator中的异步行为

本文关键字:异步 Generator Observables | 更新日期: 2023-09-27 18:21:56

Am从Reactive Extensions for.NET开始,正在观看Bart De Smet的DevCamp会话视频。我尝试了下面的片段,它应该是异步的->程序流应该在订阅后继续,但我没有看到这种情况发生。这是代码片段-

 static void Main(string[] args)
 {
   IObservable<int> o = Observable.Generate(0, i => i < 100, i => i + 1, i => i * i);
   o.Subscribe(x => { Console.WriteLine(x);});
   for(int k = 0; k < 10; k++)
        Console.Write(k);
    Console.ReadKey();
 }

这总是先打印i的正方形,然后进行for循环。我的理解有误吗?或者是已经生成了正方形序列,因此它通过它工作?(正方形列表在订阅时已经生成?)

Observables Generator中的异步行为

发现这是一个有点太迟的重复-为什么不是';t这段代码的行为是异步的。

我只想补充一点,这里提到的解决方案现在已经被否决了。您将收到一条警告,要求您使用System.Reactive.PlatformServices程序集中的NewThreadScheduler.Default(而不是使用System.Reaction.Currency中的Scheduler.NewThread)