发布时间:2019-09-21 10:51:46编辑:auto阅读(1543)
一个Future是用来表示将来要完成的结果,异步循环可以自动完成对这种对象的状态触发,例子如下:
import asyncio
def mark_done(future, result):
print('setting future result to {!r}'.format(result))
future.set_result(result)
event_loop = asyncio.get_event_loop()
try:
all_done = asyncio.Future()
print('scheduling mark_done')
event_loop.call_soon(mark_done, all_done, 'the result')
print('entering event loop')
result = event_loop.run_until_complete(all_done)
print('returned result: {!r}'.format(result))
finally:
print('closing event loop')
event_loop.close()
print('future result: {!r}'.format(all_done.result()))
输出结果如下:
scheduling mark_done
entering event loop
setting future result to 'the result'
returned result: 'the result'
closing event loop
future result: 'the result'
在这个例子里,并没有调用return语句,但也可以生成一个结果返回。Future的使用跟协程使用是一样的。
上一篇: 如何利用Intelij IDEA 搭建p
下一篇: python中对象相等判断(is、==与
47838
46382
37269
34724
29310
25967
24898
19945
19536
18017
5787°
6407°
5923°
5958°
7061°
5906°
5938°
6434°
6401°
7773°