关于迭代器的信息,可以查看:ES6:迭代器 Iterator
关于生成器,个人的理解就是一个迭代器的函数,你可以控制它每次的return内容,并且可以想迭代器一样使用 next() 方法按步进行,通过这种特性也可以达到实现可以暂停和继续运行的函数
书写方式
function* peoples() {
yield 'Tom';
yield 'Jerry';
yield 'Mario';
yield 'Yoshi';
}
书写起来就是在普通的函数function关键字后面要加*号,可以理解为将return关键字换为yield关键字
打印peoples函数,它具有这样一个参数:
这个参数用来表示生成器是否迭代完成的状态,suspended就表示可以继续迭代,closed就表示不能迭代了:
Generator 生成器更多的用途用于ajax异步请求,想要了解更多内容请查询相关资料