从发电机调用发电机

时间:2014-09-29 11:48:42

标签: javascript generator yield ecmascript-harmony

我想从另一台发电机调用发电机获得其“步骤”。虽然我找不到一个好的语法。

function* test1() {
    yield 2;
    yield 3;
}
function* test2() {
    yield 1;
    for (var i of test1()) yield i; // WTF
    yield 4;
}
var a = test2();
for (var b of a) {
    console.log(b);
}

输出:1 2 3 4

如何缩短该行?

1 个答案:

答案 0 :(得分:5)

您可以使用yield*语法并将for.. of循环替换为just yield* test1()