使用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
});
原文地址:https://www.cnblogs.com/zyip/p/5201622.html