从生命周期方法内部调用新的转换

作者: reubenab创建于 2017年11月8日更新于 2021年1月21日

如果我想在进入一个状态时决定两种转换,我无法在任何生命周期事件中调用转换。假设我有一个非常简单的FSM,包含3个状态:A、B和C。有一个A->B的转换称为step1(),另一个B->C的转换称为step2(),假设我只想在进入B后打印`hello`,然后调用step2(),如何实现这一点?如果我写一个`onEnterB`或`onAfterStep1`函数,就会出现错误,说新的转换在旧的转换有效时不能调用。

内容来源: jakesgordon/javascript-state-machine