王骏的博客
编程、网络技术点滴...

公告

逐渐将VC知识库的博客迁移到这里!

随笔分类

随笔档案

相册

最新评论

阅读排行榜

评论排行榜

程序员博客   首页  新随笔  订阅  管理  登录 
 
JO2000 阅读(919) 评论(1)

不断地then,看起来有点恶心,tj大神为我们提供了co,看起来舒坦多了,代码如下:

 

var wait1 = function(){
  var p = new Promise(function(resolve, reject) {
    var tasks = function(){
        alert("1执行完毕!");
        resolve(); // 我已成功,下一位请继续
    };
    setTimeout(tasks,3000);
    });
    return p;
};
 
var wait2 = function(){
  var p = new Promise(function(resolve, reject) {
    var tasks = function(){
        alert("2执行完毕!");
        resolve();
    };
    setTimeout(tasks,2000);
    });
    return p;
};
 
var wait3 = function(){
  var p = new Promise(function(resolve, reject) {
    var tasks = function(){
        alert("3执行完毕!");
        resolve();
    };
    setTimeout(tasks,1000);
    });
    return p;
};

co(function *() {
    yield wait1();
    yield wait2();
    yield wait3();
});

co请到这里下载:https://github.com/tj/co


打赏作者

如果本文对您有帮助,请打赏支持一下作者,谢谢您!


微信打赏

支付宝打赏
评论列表
bjiang
貌似 这要ES7才能执行吧,浏览器用这代码还要几年的.

发表评论
切换编辑模式