# generator函数 generator(生成器)是ES6标准引入的新的数据类型,一个generator看上起像一个函数,但是可以返回多次. ``` ``` * next\(\)方法会执行一个generator的代码,然后每次遇到yield x;就返回一个对象{value:x,done:true/false},然后暂停。返回的value就是yield的返回值,done表示这个generator是否已经执行结束了,如果为done为true则value就是return的返回值。 * 当执行到done为true时,这个generator对象就已经全部执行完毕,就不要再继续调用next\(\) * 第2个方法就是直接调用for...of循环迭代generator对象,这种方式不需要我们自己判断done #### 优点 generator:可以把异步代码变成“同步”代码 ``` ```