【发布时间】:2021-03-19 15:12:28
【问题描述】:
我正在寻找一个具有类似签名的可观察选择器:
static IObservable<T> TakeLatest(this IObservable<T> input, TimeSpan interval)
应该:
- 输入发出第一项后立即发出第一项
- 从那时起,在之后的固定时间间隔内,发出输入生成的最新项目
- 只要输入完成(或失败)就完成(或失败)
就弹珠而言,类似于以下内容 - 假设间隔 = 2 个时间单位:
| Time | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Input | A | B | C | D | E | F (complete) | |||||||||
| Output | A | B | D | D | E | E | complete (F not emitted anymore) |
是否有任何开箱即用的方法,或者一个相当简单的选择器来产生这些结果?
【问题讨论】:
标签: c# system.reactive