发布时间:2019-08-22 08:04:22编辑:auto阅读(2177)
一个协程里可以启动另外一个协程,并等待它完成返回结果,采用await关键字,例子如下:
import asyncio
async def outer():
print('in outer')
print('waiting for result1')
result1 = await phase1()
print('waiting for result2')
result2 = await phase2(result1)
return (result1, result2)
async def phase1():
print('in phase1')
return 'result1'
async def phase2(arg):
print('in phase2')
return 'result2 derived from {}'.format(arg)
event_loop = asyncio.get_event_loop()
try:
return_value = event_loop.run_until_complete(outer())
print('return value: {!r}'.format(return_value))
finally:
event_loop.close()
in outer
waiting for result1
in phase1
waiting for result2
in phase2
return value: ('result1', 'result2 derived from result1')
await关键字添加了一个新的协程到循环里,而不需要明确地添加协程到这个事件循环里。
上一篇: python的文件类型
下一篇: mac下安装配置python3.7
51945
51738
42035
38878
33365
30333
28976
23990
23905
22265
435°
2612°
3302°
2747°
2727°
3490°
2693°
3521°
5810°
5597°