【发布时间】:2015-01-22 09:50:47
【问题描述】:
我也有一个观察者正在观察一个不断被写入的日志。每一行都是一个新的 onNext 调用。有时,日志会在多行中输出单个日志项。检测到这一点很容易,我只是找不到正确的 RX 调用。
我想找到一种方法将单个日志项收集到一个行列表中,并在单个日志项完成时将列表中的 onNext 收集起来。
Buffer 似乎不对,因为这不是基于时间的,而是基于算法的。
GroupBy 可能是我想要的,但文档对此感到困惑。似乎它创建的可观察对象在源可观察对象完成之前可能不会调用 onComplete。
此解决方案不能过多地延迟日志(最好一点也不)。我需要尽可能接近实时地阅读日志,并且订单很重要。
任何朝着正确方向的推动都会很棒。
【问题讨论】:
-
也许 window 能帮上忙? reactivex.io/documentation/operators/window.html 无论如何,您必须以某种方式知道何时结束阅读特定窗口。更多文档在introtorx.com/Content/v1.0.10621.0/…