我有多个观察与Rx的FromEventPattern
,例如:
var a = Observable.FromEventPattern(...); // event A
var b = Observable.FromEventPattern(...); // event B
var c = Observable.FromEventPattern(...); // event C
如何观察这些事件的特定顺序?
。,我想观察在一个特定的有限的时间框架内,当A和C发生,但中间没有B的情况。
或者:ABC then ABC then just b
这对你有用吗?
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
操作符