Как удалить асинхронное безумие везде в такой программе?
import asyncio
async def async_coro():
await asyncio.sleep(1)
async def sync_func_1():
# This is blocking and synchronous
await async_coro()
async def sync_func_2():
# This is blocking and synchronous
await sync_func_1()
if __name__ == "__main__":
# Async pollution goes all the way to __main__
asyncio.run(sync_func_2())
Мне нужно иметь 3 async
маркера и asyncio.run
на верхнем уровне, чтобы вызвать одну асинхронную функцию,Я предполагаю, что я делаю что-то не так - как я могу очистить этот код, чтобы он меньше использовал async?
FWIW, меня интересует в основном то, что я пишу API с использованием asyncio, а я нетхочу, чтобы мои пользователи слишком много думали о том, должны ли их функции быть def
или async def
в зависимости от того, используют ли они асинхронную часть API или нет.