Selaa lähdekoodia

Adding some more samples.

Bart De Smet 8 vuotta sitten
vanhempi
sitoutus
055dc9e5b7
1 muutettua tiedostoa jossa 43 lisäystä ja 1 poistoa
  1. 43 1
      AsyncRx.NET/Playground/Program.cs

+ 43 - 1
AsyncRx.NET/Playground/Program.cs

@@ -23,12 +23,18 @@ namespace Playground
 
         static async Task MainAsync()
         {
+            //await AggregateAsync();
+            //await AllAsync();
+            //await AnyAsync();
+            //await AppendAsync();
             //await AwaitAsync();
             //await BufferTimeHoppingAsync();
             //await BufferTimeSlidingAsync();
+            //await CombineLatestAsync();
             //await ConcatAsync();
-            await DelayAsync();
+            //await DelayAsync();
             //await MergeAsync();
+            //await PrependAsync();
             //await RangeAsync();
             //await ReturnAsync();
             //await SelectManyAsync();
@@ -37,6 +43,26 @@ namespace Playground
             //await TimerAsync();
         }
 
+        static async Task AggregateAsync()
+        {
+            await AsyncObservable.Range(0, 10).Aggregate(0, (sum, x) => sum + x).SubscribeAsync(Print<int>());
+        }
+
+        static async Task AllAsync()
+        {
+            await AsyncObservable.Range(0, 10).All(x => x < 10).SubscribeAsync(Print<bool>());
+        }
+
+        static async Task AnyAsync()
+        {
+            await AsyncObservable.Range(0, 10).Any(x => x == 5).SubscribeAsync(Print<bool>());
+        }
+
+        static async Task AppendAsync()
+        {
+            await AsyncObservable.Range(0, 10).Append(42).SubscribeAsync(Print<int>());
+        }
+
         static async Task AwaitAsync()
         {
             Console.WriteLine(await AsyncObservable.Range(0, 10));
@@ -63,6 +89,17 @@ namespace Playground
                     .SubscribeAsync(Print<string>()); // TODO: Use ForEachAsync.
         }
 
+        static async Task CombineLatestAsync()
+        {
+            await
+                AsyncObservable.CombineLatest(
+                    AsyncObservable.Interval(TimeSpan.FromMilliseconds(250)).Take(10).Timestamp(),
+                    AsyncObservable.Interval(TimeSpan.FromMilliseconds(333)).Take(10).Timestamp(),
+                    (x, y) => x.ToString() + ", " + y.ToString()
+                )
+                .SubscribeAsync(Print<string>()); // TODO: Use ForEachAsync.
+        }
+
         static async Task ConcatAsync()
         {
             await
@@ -102,6 +139,11 @@ namespace Playground
             await subject.OnCompletedAsync();
         }
 
+        static async Task PrependAsync()
+        {
+            await AsyncObservable.Range(0, 10).Prepend(42).SubscribeAsync(Print<int>());
+        }
+
         static async Task RangeAsync()
         {
             await AsyncObservable.Range(0, 10).SubscribeAsync(Print<int>()); // TODO: Use ForEachAsync.