生成器的特点
1.生成器其实是一个特殊的函数
eg:
function * gen() { console.log('我是生成器') } let itreator=gen() console.log(itreator.next())
输出结果:‘我是生成器’
2.异步编程 纯回调函数 node fs ajax eg: ` function* gen() { console.log('111'); yield '我是第一' console.log(222); yield '我是第二' console.log(333); yield '我是第三' } let itreator = gen() console.log(itreator.next()); console.log(itreator.next()); console.log(itreator.next());
输出结果:
3.函数代码的分隔符,可传参 eg:
function* gen(arg) {
console.log(arg)
console.log('111');
yield '我是第一'
console.log(222);
yield '我是第二'
console.log(333);
yield '我是第三'
}
let itreator = gen('aaa')
console.log(itreator.next(111));
console.log(itreator.next(222));
console.log(itreator.next(333));
`
输出:
'aaa'
'111'
'222'
'333'