在Koa语境中Coroutines和Generators之间的区别?

时间:2014-04-16 10:12:06

标签: node.js generator coroutine koa co

Coroutines和Generators之间的区别对我来说很模糊。

如果有人能阅读文章 Callbacks vs Coroutines - 看看回调vs生成器与协同程序"我会很感激。 at https://medium.com/code-adventures/174f1fe66127

...然后解释在本文中说明/展示了生成器和协程之间的区别和竞争(标题确实使用术语" vs")的位置和方式?更一般地说,我的问题是实际上是什么区别,这种区别是否适用于在Koa(在Node.js中)构建应用程序时如何区分处理异步请求的编码模式?

1 个答案:

答案 0 :(得分:1)

  

发电机有时被称为“半导体”,更多   有限形式的协程,可能只会给它的来电者。这个   使用生成器比使用协同程序更明确   产生的值可能会暂停“线程”。

"发电机"比协程低。它们可以用作协程库的构建块。 你可以建立一个" coroutine" lib,如果你有" generator"在语言中。

ES6提供"生成器",因此您可以使用" coroutine" lib实现 节点中的协​​程编程(顺序,使用try-catch而不是回调)

使用协程库,您可以等待"用于完成异步调用。

检查:https://github.com/luciotato/waitfor-ES6