如果说 JavaScrip 是 ECMAScript 标准的一种具体实现、​​Iterator​​​遍历器是​​Iterator​​​的具体实现,那么​​Generator​​​函数可以说是​​Iterator​​接口的具体实现方式。

执行​​Generator​​​函数会返回一个遍历器对象,每一次​​Generator​​​函数里面的yield都相当一次遍历器对象的​​next()​​​方法,并且可以通过​​next(value)​​​方法传入自定义的​​value​​​,来改变​​Generator​​函数的行为。

​Generator​​函数可以通过配合Thunk 函数更轻松更优雅的实现异步编程和控制流管理。