ind*_*112 8 python python-3.x async-await
我试图在python中围绕async/await.
我是在正确的轨道上吗?
async和@coroutine函数返回coroutine/generator,而不是返回值.await 提取协程/发生器的实际返回值.
async 函数结果(coroutines)意味着要添加到事件循环中.
await 在事件循环和等待的协程之间创建"桥梁"(启用下一个点).@coroutine的yield直接与事件循环通信.(跳过等待结果的直接来电者)
await 只能在异步函数中使用.
yield只能在里面使用@coroutine.(@coroutine= @types.coroutine)
Jim*_*ard 11
async和@coroutine函数返回coroutine/generator,而不是返回值
技术上,types.coroutine返回一个基于生成器的协程,它与生成器不同,不同于协同程序.
等待提取coroutine/generator的实际返回值.
await,类似于yield from,暂停协程的执行,直到它等待完成并返回结果.
async函数结果(coroutines)意味着要添加到事件循环中.
是.
await在事件循环和等待的协程之间创建"桥"(启用下一个点).
await创建一个挂起点,指示事件循环将发生一些I/O操作,从而允许它切换到另一个任务.
@ coroutine的yield直接与事件循环通信.(跳过等待结果的直接来电者)
不,基于生成器的协同程序yield from以类似的方式使用await,而不是yield.
await只能在异步函数中使用.
是.
yield只能在coroutine中使用.
yield from可以在基于生成器的协同程序(装饰的生成器types.coroutine)中使用,并且从Python 3.6开始,在async导致异步生成器的函数中使用.