欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何使用Promise簡(jiǎn)化回調(diào)-創(chuàng)新互聯(lián)

這篇文章主要介紹如何使用Promise簡(jiǎn)化回調(diào),文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)的關(guān)注點(diǎn)不是能為您做些什么網(wǎng)站,而是怎么做網(wǎng)站,有沒(méi)有做好網(wǎng)站,給成都創(chuàng)新互聯(lián)公司一個(gè)展示的機(jī)會(huì)來(lái)證明自己,這并不會(huì)花費(fèi)您太多時(shí)間,或許會(huì)給您帶來(lái)新的靈感和驚喜。面向用戶(hù)友好,注重用戶(hù)體驗(yàn),一切以用戶(hù)為中心。

比如下面這種

// 模擬獲取code,然后將code傳給后臺(tái),成功后獲取userinfo,再將userinfo傳給后臺(tái)
// 登錄
wx.login({
    success: res => {
        let code = res.code
        // 請(qǐng)求
        imitationPost({
            url: '/test/loginWithCode',
            data: {
                code
            },
            success: data => {
                // 獲取userInfo
                wx.getUserInfo({
                    success: res => {
                        let userInfo = res.userInfo
                        // 請(qǐng)求
                        imitationPost({
                            url: '/test/saveUserInfo',
                            data: {
                                userInfo
                            },
                            success: data => {
                                console.log(data)
                            },
                            fail: res => {
                                console.log(res)
                            }
                        })
                    },
                    fail: res => {
                        console.log(res)
                    }
                })
            },
            fail: res => {
                console.log(res)
            }
        })
    },
    fail: res => {
        console.log(res)
    }
})

下面分析如何用Promise來(lái)進(jìn)行簡(jiǎn)化代碼

因?yàn)槲⑿判〕绦虍惒絘pi都是success和fail的形式,所有有人封裝了這樣一個(gè)方法:

promisify.js

module.exports = (api) => {
    return (options, ...params) => {
        return new Promise((resolve, reject) => {
            api(Object.assign({}, options, { success: resolve, fail: reject }), ...params);
        });
    }
}

先看最簡(jiǎn)單的:

// 獲取系統(tǒng)信息
wx.getSystemInfo({
    success: res => {
        // success
        console.log(res)
    },
    fail: res => {

    }
})

使用上面的promisify.js簡(jiǎn)化后:

const promisify = require('./promisify')
const getSystemInfo = promisify(wx.getSystemInfo)

getSystemInfo().then(res=>{
    // success
    console.log(res)
}).catch(res=>{

})

可以看到簡(jiǎn)化后的回調(diào)里少了一個(gè)縮進(jìn),并且回調(diào)函數(shù)從9行減少到了6行。

回調(diào)金字塔的簡(jiǎn)化效果

那么再來(lái)看看最開(kāi)始的那個(gè)回調(diào)金字塔

const promisify = require('./promisify')
const login = promisify(wx.login)
const getSystemInfo = promisify(wx.getSystemInfo)

// 登錄
login().then(res => {
    let code = res.code
    // 請(qǐng)求
    pImitationPost({
        url: '/test/loginWithCode',
        data: {
            code
        },
    }).then(data => {
        // 獲取userInfo
        getUserInfo().then(res => {
            let userInfo = res.userInfo
            // 請(qǐng)求
            pImitationPost({
                url: '/test/saveUserInfo',
                data: {
                    userInfo
                },
            }).then(data => {
                console.log(data)
            }).catch(res => {
                console.log(res)
            })
        }).catch(res => {
            console.log(res)
        })
    }).catch(res => {
        console.log(res)
    })
}).catch(res => {
    console.log(res)
})

可以看到簡(jiǎn)化效果非常明顯。

同樣適用于網(wǎng)頁(yè)或者nodejs等中。

以上是“如何使用Promise簡(jiǎn)化回調(diào)”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享名稱(chēng):如何使用Promise簡(jiǎn)化回調(diào)-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://aaarwkj.com/article22/isocc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站網(wǎng)站制作、全網(wǎng)營(yíng)銷(xiāo)推廣、企業(yè)建站、用戶(hù)體驗(yàn)、面包屑導(dǎo)航

廣告

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

成都做網(wǎng)站
99热精品这里只有精品| 91无人区一区二区三乱码| 中午字幕人妻少妇久久| 欧美黄片在线免费观看视频 | 免费av不卡一区二区| 亚洲高清有码在线观看| 日韩黄av在线免费观看| 国产无人区码一区二区| 日韩人妻一区二区三区蜜桃视频密 | 欧美日韩国产综合在线观看| 日本午夜福利久久久| 日韩在线啊啊啊的视频| 高清区一区二区在线播放| av电影网站中文字幕| 十八禁在线观看点击进入| 粗长挺进新婚人妻诗岚| 国产网红女主播视频一区二区| 国产一区在线免费在线观看| 播放欧美日韩特黄大片| 精品一区精品二区国产日韩| 国产高清视频成人在线观看| 免费在线观看欧美色妇| 国产日韩传媒在线观看| 日韩毛片资源在线观看| 岛国大片一区二区三区| 日韩区一区二在线视频| 亚洲男人天堂在线播放| 国产在线精彩视频自拍| 中文字幕乱码亚洲中文在线| 久久se精品人妻一区二区三区| 精品亚洲av一区二区三区| 亚洲男人的av天堂生活| 成人污视频网站在线观看| 日韩精品女性三级视频| 香蕉夜夜草草久久亚洲香蕉| 国产精品三级国产精品高| 韩国成人伦理片在线观看| 日本大片一区二区免费看| 日韩精品在线不卡一区| 亚洲欧美午夜福利视频| 国产午夜草莓视频在线观看|