在on_enter状态回调中添加并触发状态迁移触发异常的问题
transitions库HierarchicalGraphMachine on_enter回调内触发动态迁移事件报错
需求背景
我需要实现这样的状态流转逻辑:
- 进入状态B时,记录上一个状态A
- 后续进入状态X的
on_enter回调中,动态添加X到A的状态迁移事件,触发该事件回到状态A - 完整流转路径:
A→B(存储A)→C→X(添加X→A迁移)→A
问题现象
使用transitions库的HierarchicalGraphMachine实现代码后:
- 手动跳过
on_enter回调,直接执行添加迁移、触发事件、移除迁移的逻辑,一切正常 - 但把这段逻辑放在X状态的
on_enter回调里执行时,抛出MachineError错误:Can't trigger event 'jump' from state(s) root_caffeinated_running!
内容的提问来源于stack exchange,提问作者romath
相关产品推荐
相关产品推荐

