繁体   English   中英

什么时候我应该使用收益率和收益*与Koa.js

[英]When should I use yield and when yield* with Koa.js

浏览koa样本,文档和中间件,我注意到两种形式的yield都被使用而没有任何特别的区别我注意到了。 最极端的情况是koa-mount,其中示例代码使用yield next; 形式,包本身使用yield*几次。 其他包(例如koa-views )也使用yield next表单。

我理解语言所定义的两种形式之间的区别,但不明白在koa的语境中它们是如何互换使用的,以及何时使用一种形式是正确的。

编辑29/5

经过一些更多的研究,我明白,因为koa建立在co之上,而且co能够处理多种类型的异步结果(thunks,Promises ......),两者都是合法的 ,但我仍然是不确定哪个指南有助于确定在每个场景中使用哪种形式。

本文 - 来自koa团队成员之一的下一个产量与产量*接下来 ,准确地解释了这是什么以及他们使用它的原因。

在一些情况下,可以使用此yield * ,如文章所示,以避免额外的co调用,或在屈服时保持上下文( this )。 但话说回来,并不是真的需要 - 正如作者所说,“ 我们并不主张避免混淆 ”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM