從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
秒。協同程序是異步數據消費者。
什麼是 「異步數據消費者」 是什麼意思?
謝謝。