Python / ES6生成器是否也是协程?
我对Python和ECMAScript中的生成器的理解是它们比普通生成器更有能力。 例如,既允许值以经由传递回到发电机next()
并且它们都允许从另一个生成得到( yield from
在Python和yield *
在ES6),未在发电机需要两件事情。
那么,考虑到这个扩展功能,Python和ES6中实现的生成器的所有意图和目的都与协程相同? 有什么区别吗?
从PEP 380 yield from
:
Python生成器是协程的一种形式,但具有限制,它只能屈服于其直接调用者。
从协程的python文档
协程是一种遵循某些约定的生成器。 出于文档的目的,所有的协程都应该用@ asyncio.coroutine修饰,但这不能被严格执行。
发电机是一种有限的联合程序。 ES2015发电机也应如此。
链接地址: http://www.djcxy.com/p/53239.html上一篇: Are Python/ES6 Generators also Coroutines?
下一篇: How to unify sender