async/await

用asyncio模块提供的@asyncio.coroutine可以把一个generator标记为coroutine类型,然后在coroutine内部用yield from调用另一个coroutine实现异步操作。

为简化并更好的标识异步IO,从python3.5版本开始引入新的语法async和await。可以让协程的代码更简洁易读。

如何使用新的语法?

 1 把@asyncio.coroutine替换为async

 2 把yield from替换为await

旧代码:

@asyncio.coroutine
def hello():
    print('hello,world')
    r = yield from asyncio.sleep(1)
    print('hello,again')

新代码:

async def hello():
    print("Hello world!")
    r = await asyncio.sleep(1)
    print("Hello again!")
如有疑问请联系我,写的不对的地方请联系我进行更改,感谢~ QQ:1968380831
原文地址:https://www.cnblogs.com/1zhangwenjing/p/7748298.html