ES6异步编程方法-Generator函数

2017-11-27  本文已影响5人  lmmy123

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语句注明

上一篇下一篇

猜你喜欢

热点阅读