生成器与迭代器

102 阅读1分钟

生成器的特点

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());

输出结果:

image.png 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)); `

输出: image.png 'aaa' '111' '222' '333'