ES6的Promise--邏輯執(zhí)行的順序

基本認(rèn)識(shí)

Promise的核心價(jià)值是創(chuàng)建一個(gè)異步執(zhí)行的過(guò)程,并給你善后的機(jī)會(huì)。

成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括鞍山網(wǎng)站建設(shè)、鞍山網(wǎng)站制作、鞍山網(wǎng)頁(yè)制作以及鞍山網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,鞍山網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到鞍山省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

Promise對(duì)象一但創(chuàng)建就會(huì)立即執(zhí)行,執(zhí)行過(guò)程是異步的,不會(huì)對(duì)后續(xù)的邏輯造成阻塞。

直接聲明,立即執(zhí)行

        let promise = new Promise ( (resolve, reject) => {
                //執(zhí)行耗時(shí)的邏輯。。。
                if ( success ) {
                        resolve(a)   // pending ——> resolved 參數(shù)將傳遞給對(duì)應(yīng)的回調(diào)方法
                } else {
                        reject(err)  // pending ——> rejectd
                }
        } )
        //后續(xù)代碼會(huì)繼續(xù)執(zhí)行,而不是等待Promise內(nèi)部邏輯執(zhí)行完畢。
        //...

放到函數(shù)里,需要時(shí)執(zhí)行

function promise () {
            return new Promise ( function (resolve, reject) {
                    //執(zhí)行耗時(shí)的邏輯。。。
                    if ( success ) {
                            resolve(a)
                    } else {
                            reject(err)
                    }
            } )
    }

Promise內(nèi)邏輯執(zhí)行完畢后,調(diào)用resolve還是reject,完全要看編程者的意圖。調(diào)用resolve就會(huì)觸發(fā)Promise的then,調(diào)用reject就會(huì)觸發(fā)Promise的catch。
這就是設(shè)計(jì)的價(jià)值之處,執(zhí)行完畢一個(gè)耗時(shí)操作后,給你一個(gè)條件回調(diào)的機(jī)會(huì)用于執(zhí)行后續(xù)邏輯。

    promise.then(
            () => { console.log('this is success callback') }
    ).catch(
            (err) => { console.log(err) }
    )

更多

then() 和 catch() 都會(huì)返回一個(gè)新的Promise對(duì)象,可以鏈?zhǔn)秸{(diào)用。

    promise.then(
            () => { console.log('this is success callback') }
    ).catch(
            (err) => { console.log(err) }
    ).then(
            ...
    ).catch(
            ...
    )

當(dāng)前標(biāo)題:ES6的Promise--邏輯執(zhí)行的順序
當(dāng)前網(wǎng)址:http://muchs.cn/article2/jepiic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、網(wǎng)頁(yè)設(shè)計(jì)公司、App開(kāi)發(fā)網(wǎng)站營(yíng)銷、微信公眾號(hào)標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)