从a comment由吉姆·希利亚德Fasarakis:为什么基于生成器的协程消耗异步生成器异步数据生成器以及协程异步数据使用者?
发电机:包含一个或多个
yield
表达式def
功能。生成器用作数据生成器(它们的
yield
值)。
我能理解。
基于生成器的协程:由
types.coroutine
包裹的发电机(def
+yield
)。如果需要将它视为协程对象,则需要将其包装在types.coroutine
中。发电的协同程序作为消费者(你
.send
值 他们或子发电机他们yield from
)。
什么是“消费者(你.send
值,他们或子发电机他们yield from
)”是什么意思?
异步生成器:
async def
包含一个或多个yield
表达式的函数。这些还可以包含await
表达式。异步生成器是异步数据生成器。
“异步数据生产者”是什么意思?
协程:
async def
无零个或多个await
S和没有yield
秒。协同程序是异步数据消费者。
什么是 “异步数据消费者” 是什么意思?
谢谢。