我正在尝试使用 Apache scxml 实现控制流。我的状态转换就像
<scxml initial="State1">
<state id = "State1"><transition event="event1" target="State2"></state>
<state id = "State2">
<transition event="event2" target="State3">
<transition event="event3" target="State4">
</state>
<state id = "State3">
<transition event="event4" target="State2">
</state>
<state id = "State4">
<transition event="event5" target="State2">
</state>
<state id = "State5"><transition target="State1">
</scxml>
作为状态机,它工作正常并且没有任何问题。但我有几个要求,我面临的问题
我必须检查每个状态中的外部事件,如果该事件为真,我必须进入循环的最后一个状态。实现这一目标的最佳方法是什么?
有可能当我在里面时,
state2
我可以去state4
或state5
通过state3
.state3
在检查条件后,我是否可以触发事件或更改state4
状态state5
?
上述两个问题似乎都有相同的解决方案,但我无法找出实现它们的最佳方法。