[英]How to observe a specific combination of events?
I have multiple observables made with Rx's FromEventPattern
, eg: 我用Rx的FromEventPattern
制作了多个可观察FromEventPattern
,例如:
var a = Observable.FromEventPattern(...); // event A
var b = Observable.FromEventPattern(...); // event B
var c = Observable.FromEventPattern(...); // event C
How do I observe specific sequences of these events? 如何观察这些事件的特定顺序?
Eg, I want to observe the case when A then C happened, but without B in between, in a particular limited time frame. 例如,我想观察一个情况,即在特定的有限时间内,发生了A到C的情况,但中间没有B。
Or: ABC then ABC then just B. 或者:先是ABC,然后是ABC,然后是B。
Does this work for you? 这对您有用吗?
var query = a.Select(_ => c.TakeUntil(b)).Switch();
Would this work for the 5 second time period? 这会在5秒钟内起作用吗?
var query = a
.Select(_ => c
.TakeUntil(b)
.TakeUntil(Observable.Timer(TimeSpan.FromSeconds(5.0))))
.Switch();
Otherwise you'd need to look at the Window
or Join
operators. 否则,您需要查看Window
或Join
运算符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.