Observable.Interval(TimeSpan.FromSeconds(5))
.Timeout(dueTime: DateTimeOffset.UtcNow,
other: Observable.Return<long>(-1))
.Subscribe(Console.WriteLine);
上面的代码片段会在超时时返回 -1。但是,我需要一些允许我映射序列的东西,比如选择运算符。
我想我需要类似的东西
.Timeout(DateTimeOffset dueTime, Func<IObservable<TSource>,Func<TSource, TResult> selector)
所以我做这样的事情
Observable.Interval(TimeSpan.FromSeconds(5))
.Timeout<long, string>(dueTime: DateTimeOffset.UtcNow,
other: i=> Observable.Return<string>(i * i.ToString()))
.Subscribe(Console.WriteLine);
有人可以启发我吗?谢谢。