繁体   English   中英

如何结束可观察的热点?

[英]How do I end a hot observable?

如果在特定时间范围内未收到值,我想根据事件结束可观察的事件。

// This will go on forever because it is a hot
// observable based on an event
// If a value has not been produced in, say, 2 seconds
// I would like to stop it and raise an OnCompleted
var observable = Observable.FromEvent(...);

我可以像这样执行TakeUntil ,但这将是从订阅开始的绝对时间段。 我想要的是,如果从生成上一个值的时间起2秒钟内未返回任何值,则停止并引发OnCompleted事件。

如果可观察对象在2秒钟内未生成任何值,则也请停止并引发OnCompleted事件。

在没有客户端代码必须维护有关最后一次生成时间的状态时,该怎么办?

尝试这个:

var query = observable.Timeout(TimeSpan.FromSeconds(2.0), Observable.Empty<int>());

只需将int替换为您的源可观察到的任何类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM