python 异步等待
时间: 2023-07-07 08:43:52 浏览: 92
在 Python 中,异步等待通常是使用关键字 `await` 来实现的。当需要等待一个异步操作完成时,可以使用 `await` 关键字来暂时挂起当前协程的执行,等待异步操作完成后再继续执行。
具体来说,可以使用 `asyncio` 模块提供的 `asyncio.wait()` 或 `asyncio.gather()` 方法来等待多个异步任务的完成。这些方法都是协程函数,需要在 `async def` 声明的协程中使用。
例如,下面的代码片段展示了如何使用 `asyncio.gather()` 方法等待多个协程的执行:
```
import asyncio
async def task1():
await asyncio.sleep(1)
return "Task 1 Done"
async def task2():
await asyncio.sleep(2)
return "Task 2 Done"
async def main():
results = await asyncio.gather(task1(), task2())
print(results)
asyncio.run(main())
```
在上面的代码中,我们定义了两个协程函数 `task1()` 和 `task2()`,分别模拟了两个异步操作。然后,在 `main()` 函数中使用 `asyncio.gather()` 方法等待这两个异步操作的完成,并将结果打印出来。最后,我们使用 `asyncio.run()` 方法来运行 `main()` 协程函数。
阅读全文