jab*_*jab 31 javascript state-machine
有人知道状态机的任何javascript实现吗?我的目标是设置一个状态机实现,将事件绑定到状态转换.因此,如果用户单击按钮,则状态将被更改,并且此状态可能会定义要更改的对象中的某些值.
我希望这是一个状态机,因为会有一个规则json文件,它允许在调用某些事件时指示各种对象的值发生了什么变化.因为这将在文件中构建,我认为很容易将该信息解析为状态机对象.
小智 35
js中有两个用于有限状态机的主库:
1/https://github.com/ifandelse/machina.js 非常好的文档,示例,支持两个开箱即用的JavaScript消息总线提供程序:postal.js和amplify.js.
2/https://github.com/jakesgordon/javascript-state-machine 更简单,更易于使用,完美的"基本"的用法.
我最近在JS中构建了一个状态机实现,由于它的转换DSL,它当然是最容易配置的:
transitions: [
'next : intro > form > finish',
'back : intro < form < error',
'error : form > error',
'restart : intro < finish'
]
Run Code Online (Sandbox Code Playgroud)
它在配置和事件处理程序分配方面都非常灵活,您可以在运行时添加和删除状态,暂停和恢复转换,挂钩大量事件,使用jQuery的帮助程序和Vue等反应框架:

文档和一大堆演示在这里: