Beispiel #1
0
    // Use this for initialization
    void Start()
    {
        var source = new NumberObservable();

        var subscribe1 = source
                         // .Where(x => x % 2 == 0)
                         // .Select(_ => 2)
                         .Buffer(4, 2)
                         .Subscribe
                         (
            value => Debug.Log("OnNext(" + value + ") called"),
            ex => Debug.Log("OnError called"),
            () => Debug.Log("OnCompleted called")
                         );

        Debug.Log("## Execute1");
        source.Execute(1);

        Debug.Log("## Execute2");
        source.Execute(2);

        Debug.Log("## Execute3");
        source.Execute(3);

        Debug.Log("## Execute4");
        source.Execute(4);
    }
Beispiel #2
0
        static void Main(string[] args)
        {
            var producer = new NumberProducer();
            var observer = new NumberObservable(producer);

            var consumer = new ConsoleOutputObserver();

            observer.Subscribe(consumer);
            producer.Produce();

            // short way
            var generator = Observable
                //.Range(0, 100)
                .Generate(0, x => x < 100, x => x + 1, x => x, x => TimeSpan.FromSeconds(1))
                .Select(
                    x =>
                        {
                            if (x%15 == 0) return "FizzBuzz";
                            if (x%3 == 0) return "Fizz";
                            if (x%5 == 0) return "Buzz";

                            return x.ToString();
                        })
                .Do(Console.WriteLine);

            generator.Subscribe();

            Console.ReadKey();
        }
Beispiel #3
0
    // Use this for initialization
    void Start()
    {
        var source = new NumberObservable();
        //var subscribe1 = source.Subscribe(new PrintObserver());
        var subscribe1 = source.Subscribe
                         (
            value => Debug.Log("OnNext(" + value + ") called"),
            ex => Debug.Log("OnError called"),
            () => Debug.Log("OnCompleted called")
                         );

        //var subscribe2 = source.Subscribe(new PrintObserver());
        var subscribe2 = source.Subscribe
                         (
            value => Debug.Log("OnNext(" + value + ") called"),
            ex => Debug.Log("OnError called"),
            () => Debug.Log("OnCompleted called")
                         );

        Debug.Log("# Execute1");
        source.Execute(1);

        Debug.Log("# Dispose");
        subscribe2.Dispose();

        Debug.Log("# Execute2");
        source.Execute(2);

        Debug.Log("# Execute0");
        source.Execute(0);

        //var subscribe3 = source.Subscribe(new PrintObserver());
        var subscribe3 = source.Subscribe
                         (
            value => Debug.Log("OnNext(" + value + ") called"),
            ex => Debug.Log("OnError called"),
            () => Debug.Log("OnCompleted called")
                         );

        Debug.Log("# Completed");
        source.Completed();
    }