async
로 선언되지 않은 일반 동기 함수 내에서 비동기 함수를 호출하기 위해서는 Python 내장 모듈인 asyncio
라이브러리를 사용해야 한다.
asyncio
의 이벤트 루프를 이용한다.
import asyncio
loop = asyncio.get_event_loop()
loop.run_until_complete(async_func())
loop.close()
파이썬 3.7이상부터는 다음과 같이 간단하게 비동기 함수를 호출할 수 있다.
import asyncio
asyncio.run(async_func())