ECMAScript 6应该会引入生成器函数和迭代器。生成器函数(具有function*
语法)返回一个迭代器。迭代器有一个next
方法,当重复调用时,执行生成器函数体,每次在yield
运算符处暂停并恢复执行。
ECMAScript 6生成器的维基页面还介绍了“委派yield”yield*
运算符,如下所示:
yield*
运算符委派给另一个生成器。这提供了一种方便的机制来组合生成器。
“委派给另一个生成器”是什么意思?我怎么使用yield*
“方便地组合生成器”?
[您可以在Node v0.11.3中使用--harmony-generators
标志玩转生成器。]
yield* generator
应类似于for (i of generator) { yield i; }
。 - Felix Kling(function*_(){yield*(_())})().next()
- Evan Carroll