2016-10-24 5 views
0

誰もこのコードの仕組みを私に説明できますか? (ネストされた利回り):最初はconsole.log(ATES6の発電機:入れ子にされた歩留まり?

function* anotherGenerator(i) { 
    yield i + 1; 
    yield i + 2; 
    yield i + 3; 
} 

function* generator(i){ 
    yield i; 
    yield* anotherGenerator(i); 
    yield i + 10; 
} 

var gen = generator(10); 

console.log(gen.next().value); // 10 
console.log(gen.next().value); // 11 
console.log(gen.next().value); // 12 
console.log(gen.next().value); // 13 
console.log(gen.next().value); // 20 

)私たちは、このネストされた降伏仕事をする方法...その11 ..12 ... 13 ... 20後 、10の値を取得?

+1

このための便利な速記は右、MDNの例はありますか?そのページは[yield *を記述するページ](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/yield*)にリンクしています。 – vaultah

+0

これは、ドキュメンテーションが動作すると言う仕方で動作します。 –

答えて

5

yield* anotherGenerator(i);は基本的に

for (var value of anotherGenerator(i)) { 
    yield value; 
} 
+0

Okey thanks !!!分かりました !! –

関連する問題