Rx如何在时间间隔内获取序列的前n个元素并忽略其他元素



我在程序中使用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));

相关内容

  • 没有找到相关文章