最近在看《你不知道的javascript中卷》,發(fā)覺作者花了基本一半的篇幅去講異步和promise,覺得有必要總結(jié)一下。

 其實(shí)本文的目的是想手寫一個(gè)Promise的,無奈總結(jié)著總結(jié)著發(fā)覺篇幅有點(diǎn)長(zhǎng),因此只好一分為二,先介紹promise的用法,知道怎么用,我們才知道怎么寫,所以把手寫一個(gè)promise的任務(wù)放到了下一篇文章當(dāng)中。

  當(dāng)然,網(wǎng)上有很多關(guān)于promise的文章,都可以參考參考,有誤之處,歡迎之處。

回到頂部

什么是Prmoise

  promise是ES6新增的一個(gè)特征,它已被列入ES6的正式規(guī)范中

  Promise對(duì)象可以理解為一次執(zhí)行的異步操作,使用promise對(duì)象之后可以使用一種鏈?zhǔn)秸{(diào)用的方式來組織代碼;讓代碼更加的直觀。也就是說,有了Promise對(duì)象,就可以將異步操作以同步的操作的流程表達(dá)出來,避免了層層嵌套的回調(diào)函數(shù)。

示例:未使用promise,回調(diào)必須層層嵌套

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

$.ajax(url1, function(data1){    // do something...
    $.ajax(url2, function(data2){        // do something...
        $.ajax(url3, function(data3){            // do something...
            done(data3); // 返回?cái)?shù)據(jù)        })
    });
});

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

網(wǎng)友評(píng)論