# 迭代器和生成器

ts的迭代器和生成器和ES6的类似

# 生成器

function* generator() {
  yield 'hello'; // 支持同步或者异步
  yield 'world';
  return 'ending';
}

var g = generator();

// 一步一步去调用使用,和路由中的路由守卫一样,调用next()方法才能调整页面
g.next() // { value: 'hello', done: false }
g.next() // { value: 'world', done: false }
g.next() // { value: 'ending', done: true }
g.next() // { value: undefined, done: true }

# 迭代器

[Symbol.iterator]()方法

类数组的列表,比如nodelist、参数列表、Map、Set等。

for of 遍历迭代器,对象不可使用。

数组解构