Rx.Net 窗口运算符,在关闭后打开第一个值和下一个值



我想做一个反应式扩展窗口运算符,它:

  1. 在第一个值上打开一个窗口(不是订阅时(
  2. 在该值之后的给定超时关闭该窗口
  3. 关闭后在第一个值上打开一个新窗口

因此永远不会产生重叠,而是允许间隙。

到目前为止,我一直没有成功。有谁知道怎么做?

GroupByTill 似乎可以做到这一点:

public static IObservable<IObservable<T>> LazyWindow<T, TClosing>(
this IObservable<T> source, Func<IObservable<TClosing>> windowClose) => source
.GroupByUntil(x => 0, group => windowClose())
.Select(x => (IObservable<T>) x);

编辑:不要使用null作为常量组键,它导致框架内的NRE。很奇怪。

相关内容

  • 没有找到相关文章

最新更新