美文网首页
Generators

Generators

作者: 基本密码宋 | 来源:发表于2017-10-31 16:11 被阅读6次

    非手动的迭代器

    //生成器
    function* methods() {     //记住使用 function* 的意思是迭代器
        yield 'a'; //yield 进行迭代的数据
        yield 'b';
    }
    
    
    let method = methods();
    
    //进行迭代
    console.log(method.next())
    console.log(method.next())
    console.log(method.next())
    
    

    结果是:

    { value: 'a', done: false }
    { value: 'b', done: false }
    { value: undefined, done: true }
    

    另外一种方式使用

    let method = function* (food) {
    
        for (var i = 0; i < food.length; i++) {
            yield food[i];
        }
    }
    
    let demo = method([1, 2, 3]);
    
    console.log(demo.next());
    console.log(demo.next());
    console.log(demo.next());
    
    

    结果是:

    { value: 1, done: false }
    { value: 2, done: false }
    { value: 3, done: false }
    
    

    相关文章

      网友评论

          本文标题:Generators

          本文链接:https://www.haomeiwen.com/subject/ebpbpxtx.html