AsyncGraphMachineusedwithasyncon_entercallbacks
创始人
2024-09-21 03:01:15
0

AsyncGraphMachine 是一个状态机库,它支持异步的 on_enter 回调函数。在使用 AsyncGraphMachine 时,需要确保所有的 on_enter 回调函数都是异步函数,否则可能会出现“AsyncGraphMachine used with async on_enter callbacks”错误。为解决该问题,需要确认 on_enter 回调函数均为异步函数,示例如下:

from transitions_async import AsyncGraphMachine
import asyncio

# 定义状态机
class Matter(object):
    # 状态_ENUM
    states = ['solid', 'liquid', 'gas', 'plasma']

    # 转换_definitions
    transitions = [
        {'trigger': 'melt', 'source': 'solid', 'dest': 'liquid'},
        {'trigger': 'evaporate', 'source': 'liquid', 'dest': 'gas'},
        {'trigger': 'ionize', 'source': 'gas', 'dest': 'plasma'},
        {'trigger': 'condense', 'source': 'gas', 'dest': 'liquid'},
        {'trigger': 'freeze', 'source': 'liquid', 'dest': 'solid'}
    ]

    # 定义异步 on_enter 回调函数
    async def on_enter_gas(self):
        print("Gas: Can you see me?")

    async def on_enter_solid(self):
        print("Solid: Hi, I am here.")

# 创建状态机
machine = AsyncGraphMachine(model=Matter(), states=Matter.states, transitions=Matter.transitions, initial='solid')

# 运行状态机
async def run():
    await asyncio.sleep(0) # 等待一段时间后执行转换
    await machine.melt()
    await machine.evaporate()
    await machine.ionize()
    await machine.condense()
    await machine.freeze()

# 执行状态机
asyncio.run(run())

在上述示例中,异步的 on_enter 回调函数分别被定义为 on_enter_gas 和 on_enter_solid,确保了所有的 on_enter 回调函数都是异步函数。

相关内容

热门资讯

针对!新鸿狐辅助软件是真的吗,... 针对!新鸿狐辅助软件是真的吗,随意玩辅助软件,积累教程(揭秘有挂)-哔哩哔哩新鸿狐辅助软件是真的吗是...
透视最新!wepoker买脚本... 透视最新!wepoker买脚本靠谱吗,wepoker怎么买辅助(透视)普及教程(有挂头条)-哔哩哔哩...
于此同时!we-poker软件... 于此同时!we-poker软件,wpk俱乐部是真的吗(透视)总结教程(有挂分析)-哔哩哔哩wpk俱乐...
目前!越乡游义乌透视下载安卓,... 目前!越乡游义乌透视下载安卓,wepoker辅助分析器,经验教程(有挂神器)-哔哩哔哩1、超多福利:...
网友热议!德州局HHpoker... 网友热议!德州局HHpoker透视脚本,epoker透视(透视)专业教程(有挂总结)-哔哩哔哩德州局...
目前!小闲辅助软件,火神大厅科... 目前!小闲辅助软件,火神大厅科技,步骤教程(有挂存在)-哔哩哔哩1、游戏颠覆性的策略玩法,独创攻略技...
经调查!xpoker辅助工具,... 经调查!xpoker辅助工具,wpk透视是真的假的(透视)解谜教程(有挂方法)-哔哩哔哩wpk透视是...
据玩家消息!桂麻圈辅助,广西微... 您好,广西微乐小程序微信辅助器免费这款游戏可以开挂的,确实是有挂的,需要了解加去威信【1367043...
透视总结!werplan免费挂... 透视总结!werplan免费挂下载,德州真人透视脚本(透视)辅助教程(有挂秘籍)-哔哩哔哩德州真人透...
出乎意料的是!九九联盟辅助在,... 出乎意料的是!九九联盟辅助在,扑克之星辅助,学习教程(有挂头条)-哔哩哔哩1、这是跨平台的九九联盟辅...