使用promis序列化非同步操作

zyip發表於2016-02-19

該程式碼可在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
});

 

相關文章