Key*_*kar 0 generator ecmascript-6
谁能向我解释这段代码是如何工作的?(嵌套产量):
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
Run Code Online (Sandbox Code Playgroud)
首先是console.log(),我们得到的值为10,之后是11 ..12 ... 13 ... 20 ...这个嵌套的收益如何工作?
yield* anotherGenerator(i); 基本上是一个方便的简写
for (var value of anotherGenerator(i)) {
yield value;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
702 次 |
| 最近记录: |