2014-09-29 73 views
3

我想從其他發電機調用發電機獲取其「步驟」。雖然我找不到一個好的語法。從發電機調用發電機

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

如何縮短這一行?

回答

5

您可以使用yield*語法和只用 yield* test1()

更換 for.. of