我想把我的代码从sync
重构为async
。我使用Python和FastAPI。我使用枚举中调用async
函数的方法。
例如:
from enum import Enum
from app.story import get_story
StoriesEnum = Enum(
"StoriesEnum", {story: story for story in get_story.story_list},
)
get_story
是返回Story
类的async
函数,并且它具有story_list
。
我怎样才能await
get_story.story_list
?
我试过:
asyncio.run()
get_event_loop()
async
发生器
没有成功的结果。它们不起作用是因为await
在async
函数之外。
1条答案
按热度按时间bjg7j2ky1#
根据documentation:
您可能已经注意到
await
只能在使用async def
定义的函数内部使用。但同时,用
async def
定义的函数必须被"等待"。因此,用async def
定义的函数也只能在用async def
定义的****函数内部调用。因此,您可以做的是:
如果你提供一个minimal reproducible example,它会很有帮助。