0%

python | future

底层的一个对象是 task 的基类。

例子一

1
2
3
4
5
6
7
8
9
10
11
12
13
import asyncio


async def run0():
# 获取当前事件循环
loop = asyncio.get_running_loop()
# 创建一个任务
fut = loop.create_future()
# 等待任务结果(future),没有结果会一直等待下去
await fut


asyncio.run(run0())

例子二

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import asyncio


async def get(fut):
await asyncio.sleep(2)
fut.set_result("666")


async def run0():
# 获取当前事件循环
loop = asyncio.get_running_loop()
# 创建一个任务
fut = loop.create_future()
# 创建一个 task 任务
# 手动设置结果,就会结束任务
await loop.create_task(get(fut))
# 等待任务结果(future),没有结果会一直等待下去
await fut


asyncio.run(run0())
请我喝杯咖啡吧~