我有多个用Rx FromEventPattern
制作的可观察量,例如:
var a = Observable.FromEventPattern(...); // event A
var b = Observable.FromEventPattern(...); // event B
var c = Observable.FromEventPattern(...); // event C
如何观察这些事件的特定序列?
。例如,我想观察A然后C发生的情况,但是在特定的有限时间范围内没有B。
或者:ABC然后是ABC然后只是B。
答案 0 :(得分:2)
这对你有用吗?
var query = a.Select(_ => c.TakeUntil(b)).Switch();
这会在5秒钟内发挥作用吗?
var query = a
.Select(_ => c
.TakeUntil(b)
.TakeUntil(Observable.Timer(TimeSpan.FromSeconds(5.0))))
.Switch();
否则您需要查看Window
或Join
运营商。