using System.Threading.Tasks;
using System.Reactive.Linq;
public static async Task Main()
Console.WriteLine("Hello World");
var observable = Observable.Interval(TimeSpan.FromMilliseconds(100))
.SelectMany(_ => Observable.FromAsync(() => TestApi()))
.SelectMany(_ => Observable.FromAsync(() => GetApi()))
return (cur, prev.Item1 == -1 ? null : cur == prev.Item1);
var subscription = observable.Subscribe(xs => Console.WriteLine(xs));
public static Task<string> TestApi()
return DateTime.Now.Second.ToString();
public static Task<int> GetApi()
return (DateTime.Now.Second / 5);