美文网首页
es6:generator生成器

es6:generator生成器

作者: gis杭州 | 来源:发表于2018-12-11 10:19 被阅读0次

    1、 执行第一条,name值为undefind,第二条,传入字符串"hehe "会被赋值给上一个生成器执行结果的返回值name

    function* gen(){
      let name = yield "this is first one";
      console.dir(name);
      yield  name+"this is second one";
      yield  "this is third one";
      yield "this is fourth one";
      return "done";
    }
    
    const testgen = gen();
    console.log(testgen.next());
    console.log(testgen.next("hehe "));
    // console.log(testgen.next());
    // console.log(testgen.next());
    // console.log(testgen.next());
    
    image.png

    2、必须等上一条yield语句执行完毕才会执行下一条yield语句
    这样特性等好处是“可以用同步等方式写异步代码”,例如取服务器数据,不需要再使用回调函数,避免了回调函数多层嵌套的问题。(javascrip回调地狱)


    回调地狱示例
    promise方式,依然是嵌套

    相关文章

      网友评论

          本文标题:es6:generator生成器

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