我正在研究与Koa部分构build一个Web应用程序,但是我并没有完全理解Hors,Whens,以及在哪些方面可以select – 应用 – 支持“使asynchronous更简单”的技术/方法下面列出)。 总的来说,networking上关于这个问题的不同指导仍然让事情变得模糊,特别是在不断发展的最佳实践方面,或者至less是更好的方面,以及在什么情况下。 networking上似乎没有什么东西可以把它全部放在上下文中。 我希望对这个庞大的屁股蔓延的post的反应可以纠正这一点 。 也许下面的问题可以激发人写一个彻底的博客文章或类似的东西来解决这个问题。 我的感觉是,我甚至不接近唯一会从中受益的人。 因此,如果明智的社群能帮助解答以下关于下列技术的问题(以粗体显示)并提供清晰的话,我会很高兴: – a)他们如何以及在何种情况下(如适用)互相补充,补充,替代和/或重叠解决scheme? – b)它们在速度性能,error handling简易性和debugging方便性方面有什么权衡? – c)什么时候,何地以及为什么使用“这个”与“那个”技术,技术组合,和/或方法更好? – d)哪些技术或方法(如果有的话)可能是“明星”。 (希望能够很好地解释作为答案一部分的意见。) ============================== 技术: * Koa * 我的理解: Koa是构buildNode应用程序的基础,它利用了ECMAScript-6特性,其中一个特性是生成器。 * Co * 我的理解: – Co是一个运行ECMAScript-6生成器的实用程序库(它本来就是Node .011和谐的),其目标是允许编写样板代码来运行和pipe理生成器。 Co本质上是Koa(?)的一部分。 具体问题: – 如果和如何在Koa中使用Co,而不是在非Koa中使用Co。 换句话说,Koa整个门面Co? – 如果有更好的发电机库,Co可以replace成Koa发电机库吗? 有没有? *承诺“Q”和蓝鸟等图书馆* 我的理解: – 如果并且直到Node本身运行这个规范,它们在某种意义上就是用于实现Promises / A +规范的“polyfills”。 – 他们还有一些非规范的便利工具来促进使用许诺,比如Bluebird的promisfyAll工具。 具体问题: – […]