ES6 generator生成器

generator生成器可以返回多次的函数

function* numbers(){
            yield;
            // yield是ES6的新关键字,使生成器函数执行暂停,yield关键字后面的表达式的值返回给生成器的调用者。它可以被认为是一个基于生成器的版本的return关键字。
            // yield关键字实际返回一个IteratorResult(迭代器)对象,它有两个属性,value和done,分别代表返回值和是否完成。
            // yield无法单独工作,需要配合generator(生成器)的其他函数,如next(),每次调用返回两个值:分别是value和done,代表迭代结果和是否完成, 懒汉式操作,展现强大的主动控制特性。              
        }

        const gen = numbers();
        console.log(gen)
        console.log(gen.next());  //{value: undefined, done: false}
        console.log(gen.next());  //{value: undefined, done: true}

 

posted @ 2019-11-28 20:20  砂糖一椰子  阅读(111)  评论(0编辑  收藏  举报