Tag: throttle

如何使用Reactive Extensions使用最大窗口大小来限制事件?

场景 : 我正在构建一个UI应用程序,每隔几毫秒从后端服务获取通知。 收到新通知后,我想尽快更新用户界面。 因为我可以在很短的时间内收到大量的通知,而且我总是只关心最新的事件,所以我使用了Reactive Extensions框架的Throttle()方法。 这允许我忽略紧跟新通知的通知事件,因此我的UI保持响应。 问题: 假设我将通知事件的事件流限制为50ms,并且后端每10ms发送一次通知,Thottle()方法将永远不会返回事件,因为它会一次又一次地重置其滑动窗口。 在这里,我需要一些额外的行为来指定像超时这样的东西,这样我就可以每秒至少检索一个事件,如果有这么高的事件吞吐量。 如何使用Reactive Extensions执行此操作?