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

如何使用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)站
91午夜福利偷拍视频| 久久视热频这里只有精品| 成年人黄色免费网站在线观看| 日日夜夜久久国产精品| 午夜精品一区二区三区亚洲| 欧美一级黄色免费电影| 亚洲一区成人免费电影| 日本a级免费大片网站| 五月婷婷av综合激情| 国产精品一区二区三区乱色| 亚洲国产偷拍在线观看| 久久99热婷婷精品一区| 又黄又爽区一区二区三| 亚洲欧美另类不卡专区| 国产精品一区二区久久毛片| 丰满少妇诱惑在线观看| 蜜桃网站视频免费观看| 福利午夜福利在线观看| 日本免费一区二区三区的电影啊| 青青久久精品国产亚洲av| 日韩一区二区三区视频在线看| 麻豆人妻一区二区三区| 亚洲精品免费福利视频| 亚洲国产精品一区二区三区| av影片免费网址大全| 日韩精品精美视频在线观看| 国产精品久久护士96| 热久久这里只有精品网址| 亚洲国产日韩在线精品| 亚洲精品午夜久久久伊人| 亚洲特级黄色做啪啪啪| 青青草针对华人在线视频| 日韩精品一区伦理视频| 亚洲天堂欧美日韩一区| 日韩成人精品一区欧美成人| 一区二区三区四区毛片| 国产亚洲精品精品国产亚洲| 国产一级无码免费视频| 人妻少妇久久中文字幕久久| 亚洲激情粉嫩中文字幕| 国产精品综合av一区二区国产馆 |