智能狀態(tài)機前端復雜對象簡化模型
智能狀態(tài)機是一個前端復雜對象優(yōu)雅編程模型。
npm包中包含庫和瀏覽器擴展
- 目的:更加自動和簡潔的實現狀態(tài)的遷移。
- 原理:通過裝飾器,對異步函數進行包裝,使得調用異步函數可以自動修改狀態(tài),并且自動實現異步調用過程中的中間狀態(tài)
功能:
- 自動生成狀態(tài)機
- 自動實現狀態(tài)遷移
- 自動派發(fā)事件
- 可視化狀態(tài)變化歷史
- 可視化狀態(tài)機圖
使用例子:
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
})
評論
圖片
表情
