Python 关键字 - await

在Python中,await 关键字用于暂停协程的执行,直到结果可用。
它与 async 关键字一起使用,用于定义异步函数或方法。

💡 用法

在调用协程函数或方法时使用 await 关键字。
它允许程序等待协程的结果,而不阻塞其他代码的执行。
这在处理I/O操作或其他可能需要一些时间来完成的任务时特别有用。

✏️ 语法

python
result = await coroutine

在上述代码中,coroutine 是被等待的协程函数或方法。
await 关键字用于暂停当前协程的执行,直到结果可用。
然后将结果赋值给 result 变量。

📘 示例

python
import asyncio

async def fetch_data(url):
    # 模拟延迟
    await asyncio.sleep(1)
    # 从URL获取数据
    response = await http.get(url)
    return response

async def main():
    url = "https://example.com"
    result = await fetch_data(url)
    print(result)

asyncio.run(main())

在上述代码中,fetch_data 函数被定义为一个异步函数,用于从给定的URL获取数据。
await 关键字用于在等待模拟延迟和HTTP响应时暂停函数的执行。
main 函数也被定义为一个异步函数,并用于运行 fetch_data 函数。
然后打印 fetch_data 函数的结果。

⚠️ 注意

  • await 关键字只能在异步函数或方法内部使用。
  • await 关键字只能与实现了 __await__() 方法或被定义为协程的对象一起使用。
  • 在没有 async 关键字的情况下使用 await 关键字将导致语法错误。
  • await 关键字可以在单个异步函数或方法中多次使用,以等待多个协程。