我收到了一系列股票报价,我想获取过去一小时内的所有数据并对其进行一些处理。我正在尝试通过 react 性扩展 2.0 来实现这一点。我在另一篇文章中读到使用 Interval,但我认为这已被弃用。
最佳答案
这个扩展方法能解决您的问题吗?
public static IObservable<T[]> RollingBuffer<T>(
this IObservable<T> @this,
TimeSpan buffering)
{
return Observable.Create<T[]>(o =>
{
var list = new LinkedList<Timestamped<T>>();
return @this.Timestamp().Subscribe(tx =>
{
list.AddLast(tx);
while (list.First.Value.Timestamp < DateTime.Now.Subtract(buffering))
{
list.RemoveFirst();
}
o.OnNext(list.Select(tx2 => tx2.Value).ToArray());
}, ex => o.OnError(ex), () => o.OnCompleted());
});
}
关于c# - react 性扩展滑动时间窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11559255/