智能状态机前端复杂对象简化模型
智能状态机是一个前端复杂对象优雅编程模型。
npm包中包含库和浏览器扩展
- 目的:更加自动和简洁的实现状态的迁移。
- 原理:通过装饰器,对异步函数进行包装,使得调用异步函数可以自动修改状态,并且自动实现异步调用过程中的中间状态
功能:
- 自动生成状态机
- 自动实现状态迁移
- 自动派发事件
- 可视化状态变化历史
- 可视化状态机图
使用例子:
import { FSM, ChangeState } from 'afsm'
class MyFSM extends FSM {
@ChangeState(FSM.INIT,'state1')
async gotoState1() {
}
@ChangeState('state1','state2')
async gotoState2() {
}
}
const obj = new MyFSM()
obj.gotoState2()//will throw error
obj.gotoState1().then(()=>{//will change to state1
return obj.gotoState2()//then change to state2
})
评论