有没有办法在Machina.js中的特定状态之间转换时执行操作?
例如,假设我有状态" A,B,C"。
我想写一个像:
这样的函数when("A", "C", function(){ console.log("Caught transition from A to C! Yay!"); }
这与Akka's FSM实施的精神相同。这可能吗?
谢谢!
答案 0 :(得分:1)
想出来。只需注意transition
事件即可。请参阅API doc here。
var fsm = new machina.Fsm({
initialState: 'A',
states: {
"A": {},
"B" : {},
"C" : {}
}
});
fsm.on('transition', function(transition){
console.log("[" + transition.fromState + "] -(" + transition.action + ")-> [" + transition.toState + "]");
});
答案 1 :(得分:0)
你可以在A的onExit中设置一些你在C的onEnter中检查的内容吗?