【发布时间】:2019-06-21 18:11:03
【问题描述】:
在下面的示例中,可以非常直接地了解“产量”在生成器函数中的作用。但显然它还有另一个版本'yield*'
function * loop(times){
while(times){
times--;
yield times;
}
}
let result = loop(2);
result.next() // {value: 1, done:false}
有人可以解释'yield'和'yield*'之间的区别吗?
【问题讨论】:
-
"
yield*表达式用于委托给另一个生成器或可迭代对象。" - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/yield* -
基本上,
yield * iterable;和for (const value of iterable) yield value;做同样的事情。
标签: javascript