异步编程 Python asyncio 小白学习 – 3.3 await关键字

3.3 await

await + 可等待的对象(协程对象、Future对象、Task对象 -> IO等待)

示例1:

import asyncio

async def func():
    print("来玩呀")
    response = await asyncio.sleep(2)
    print("结束",response)

asyncio.run( func() )

示例2:

import asyncio


async def others():
    print("start")
    await asyncio.sleep(2)
    print('end')
    return '返回值'


async def func():
    print("执行协程函数内部代码")

    # 遇到IO操作挂起当前协程(任务),等IO操作完成之后再继续往下执行。当前协程挂起时,事件循环可以去执行其他协程(任务)。
    response = await others()

    print("IO请求结束,结果为:", response)
    
asyncio.run( func() )

示例3:

import asyncio


async def others():
    print("start")
    await asyncio.sleep(2)
    print('end')
    return '返回值'


async def func():
    print("执行协程函数内部代码")

    # 遇到IO操作挂起当前协程(任务),等IO操作完成之后再继续往下执行。当前协程挂起时,事件循环可以去执行其他协程(任务)。
    response1 = await others()
    print("IO请求结束,结果为:", response1)
    
    response2 = await others()
    print("IO请求结束,结果为:", response2)
    
asyncio.run( func() )

await就是等待对象的值得到结果之后再继续向下走。