美文网首页
ES6异步编程方法-Generator函数

ES6异步编程方法-Generator函数

作者: lmmy123 | 来源:发表于2017-11-27 16:16 被阅读5次

    long long ago,异步编程的方法:

    。回调函数

    。事件监听

    。发布/订阅

    。Promise对象


    未来已来

    Promise对象是为了解决回调函数多重嵌套问题而提出的,允许将回调函数的横向加载,改成纵向加载,写法如下:

    readFile(file).then(function(){}).then(function(){}).catch(function(){})

    缺点:代码冗余

    Generator函数——是协程在ES6的实现,最大特点就是可以交出函数的执行权(即暂停执行)

    function* gen(x){

          var y = yield x + 2;

         return y;

    };

    var   g =gen(1);

    g.next();   // {value:3,  done:true}

    g.next(); //{value:undefined,  done:false}

    异步操作需要暂停的地方,都用yield语句注明

    相关文章

      网友评论

          本文标题:ES6异步编程方法-Generator函数

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