我知道yield*
可以用来作曲generator
,像这样
function* foo() {
yield* bar();
yield 1;
}
function* bar() {
yield 2;
}
但是,如果我有一些正常的功能yield
一个值。
function xx()
{
yield 1;
}
v8 说
yield 1;
^
SyntaxError: Unexpected number`
这是否意味着yield
只保存 a 的环境generator
,而不是完整的调用堆栈,并且没有办法停止和恢复像生成器这样的正常功能?
听说在 FireFox(SpiderMonkey) 中,yield
可以在不兼容 ES6 的正常功能中使用。