智能状态机前端复杂对象简化模型

联合创作 · 2023-09-19 19:36

智能状态机是一个前端复杂对象优雅编程模型。



npm包中包含库和浏览器扩展




  • 目的:更加自动和简洁的实现状态的迁移。

  • 原理:通过装饰器,对异步函数进行包装,使得调用异步函数可以自动修改状态,并且自动实现异步调用过程中的中间状态


功能:



  1. 自动生成状态机

  2. 自动实现状态迁移

  3. 自动派发事件

  4. 可视化状态变化历史

  5. 可视化状态机图


使用例子:



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
})

 

浏览 21
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报