Generator返回一个遍历器对象,返回的遍历器对象可以依次遍历Generator函数内部的每一个状态。
Generator函数有2个特征:
1.function 关键字和函数名之间有一个星号。
2.函数体内部使用yield表达式,定义不同的内部状态。
使用:
function* test () {
yield 'hello';
yield 'word';
return 'ending'
}
var test = test();
test.next()
// {value: 'hello', done: false}
test.next()
// {value: 'word', done: false}
test.next()
// {value: 'ending', done: true}
test.next()
// {value: 'undefined', done: true}
done为false 表示还没有遍历结束,如果没有return语句则value值为undefined
网友评论