我在程序中使用Rx,并希望为在一分钟时间间隔内占用5个第一元素并忽略其他元素的可观察对象创建订阅。例如,
Sequence: -1---2--3--4-5---6---7-8--------------
Interval: |------------------|------------------|
Result: |1---2--3--4-5-----|-7-8--------------|
有什么想法吗?提前感谢
Window
+SelectMany
+Take
在这种情况下可以工作:
var subscription = source.Window(TimeSpan.FromMinutes(1))
.SelectMany(w => w.Take(5))
.Subscribe(item => Console.WriteLine(item));