Как не использовать asyncio.get_event_loop()
Чтобы запустить асинхронную функцию в скрипте надо использовать:
import asyncio
async def func():
#do something
loop = asyncio.get_event_loop()
loop.run_untill_complete(func())
Есть ли способ не вызывать такую большую конструкцию? Вызывать метод просто:
import asyncio
async def func():
#do something
await func()
Ответы (1 шт):
Автор решения: re1von
→ Ссылка
Предпочтительный способ - asyncio.run(func()), или же посреди логики кода (когда цикл событий уже создан и запущен) - asyncio.create_task(func()).
Также вы можете заменить
loop = asyncio.get_event_loop()
loop.run_untill_complete(func())
на asyncio.new_event_loop().run_untill_complete(func()).