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

联合创作 · 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
})

 

浏览 8
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

编辑
举报