본문 바로가기
파이썬

파이썬 Python 3.5에서 async / await를 사용하는 방법은 무엇입니까?

by º기록 2020. 11. 17.
반응형
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import time

async def foo():
  await time.sleep(1)

foo()

이 죽은 간단한 예제를 실행할 수는 없습니다.

RuntimeWarning: coroutine 'foo' was never awaited foo()

 

해결 방법

 


import asyncio

# Python 3.7+
asyncio.run(foo())

또는

# Python 3.6 and older
loop = asyncio.get_event_loop()
loop.run_until_complete(foo())


그러나 time.sleep () 은 대기 가능한 객체가 아닙니다 . None 을 반환하므로 1 초 후에 예외가 발생합니다.

>>> asyncio.run(foo())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/.../lib/python3.7/asyncio/runners.py", line 43, in run
    return loop.run_until_complete(main)
  File "/.../lib/python3.7/asyncio/base_events.py", line 573, in run_until_complete
    return future.result()
  File "<stdin>", line 2, in foo
TypeError: object NoneType can't be used in 'await' expression


async def foo():
    await asyncio.sleep(1)


 

참조 페이지 https://stackoverflow.com/questions/32808893

 

 

반응형

댓글