1

我试图弄清楚如何使用 Reactive Extensions,为此我编写了这个简单的示例:

namespace ReactiveTest
{
    class Program
    {
        static void Main(string[] args)
        {
            var o = Observable.Generate(0, i => i < 10, x => AddAndWait(x), i => i * i);
            Console.WriteLine("Before");
            o.Subscribe(x => Console.WriteLine(x));
            Console.WriteLine("After");
            Console.ReadLine();
        }

        static int AddAndWait(int i)
        {
            Thread.Sleep(1000);
            return i + 1;
        }
    }
}

看完这个视频后,我希望看到After打印出来的东西,Before但我得到的是数字的正方形,只有在完成之后我才会收到After消息。

我知道我正在阻塞线程,但这不是这种反应性东西的重点,能够超越这些限制并继续在你的主线程中吗?

4

0 回答 0