关于es6的generator

原创
2017/10/10 08:56
阅读数 94

关于es6的generator

在es6中新增了generrator(生成器),generator可以返回多次,

generator使用function* 定义,除了return语句外,还可以用yield返回多次。

下面的列子中使用 function *gen(){...}定义了一个generator函数,在函数用使用了两个yield和return,就是说这个函数可以返回三次,即每次调用next()方法,函数就执行到yield语句的地方,然后暂停。

next()方法返回一个对象{value: x, done: true/false},其中value属性表示yield关键词后面表达式的值,done属性表示是否遍历结束。generator生成器通过next和yield的配合实现流程控制。

function* gen(){
    yield 'hello';
    yield 'world';
    return true;
}

var iter = gen();
var a = iter.next();
console.log(a);

var b = iter.next();
console.log(b);

var c = iter.next();
console.log(c);

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部