让我们考虑以下流:
SomeState state = new SomeState().
_refreshFiberStream =
Stream()
.SubscribeOn(new EventLoopScheduler())
.Select(DoCalc)
.ObserveOn(DispatcherScheduler.Current)
.Subscribe(Update);
DoCalc方法会将输入投影并消耗'state',然后将结果输出给Update方法,Update方法会修改'state'。如果有新的事件到来,则应该基于上一个事件更新的'state'进行操作,并根据它进行投影。
我正在寻找一种让事件始终按顺序执行的方法。例如,如果我有三个事件,我希望它们按照DoCalc、Update、DoCalc、Update、DoCalc、Update的顺序执行。
但是我看到的是DoCalc、DoCalc、Update、Update、DoCalc、Update,即它们从未按顺序运行。
在Rx中,是否有一种方法可以强制执行顺序?