使用promis串行化异步操作

该代码可在chrome下运行,对于低版本浏览器可以引入Q库

function async1() {
    var defer = Promise.defer()
    setTimeout(function(){
        defer.resolve('async1')
    }, 1300);
    return defer.promise;
}

function async2(param) {
    var defer = Promise.defer()
    setTimeout(function(){
        defer.resolve( param + 'async2')
    }, 1100);
    return defer.promise;
}

async1()
.then(function(d){
    return async2(d);
})
.then(function(d){
    console.log(d); //输出async1async2
});

 

posted @ 2016-02-19 17:09  zyip  阅读(217)  评论(0)    收藏  举报