声明:本文参考官网再加上自己的理解
1.generator可以让某一个函数执行某个动作之后暂时停止,之后 再次触发,再次执行
例子:
function* g4(){
2
3 yield* [1,2,3];
4 return 'foo';
5 }
6
7 var result;
8
9 function* g5(){
10 result = yield* g4();
11
12 }
13
14 var iterator = g5();
15
16
17
18 console.log(iterator.next());//触发1
19 console.log(iterator.next());//触发2
20 console.log(iterator.next());//触发3
21 console.log(iterator.next());//触发4
22 console.log(result);
执行结果
{ value: 1, done: false }
{ value: 2, done: false }
{ value: 3, done: false }
{ value: undefined, done: true }
foo
yield yield* 关键字的功能就是能够引起阻塞效果,但是必须要触发,否侧执行不了