成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

promise化微信小程序api

AlphaWatch / 1501人閱讀

摘要:化的原因微信小程序的用的是對(duì)象參數(shù)回調(diào)模式很容易造成回調(diào)地獄代碼難以閱讀判斷修改和調(diào)試微信小程序示例獲取用戶信息已經(jīng)授權(quán),可以直接調(diào)用獲取頭像昵稱,不會(huì)彈框可以將發(fā)送給后臺(tái)解碼出可以看出兩層的時(shí)候代碼就很別扭了化小程序編寫一個(gè)可以小程序的公

promise化的原因

微信小程序的api用的是對(duì)象參數(shù)回調(diào)模式,很容易造成回調(diào)地獄,代碼難以閱讀,判斷,修改 和調(diào)試.

微信小程序api示例
// 獲取用戶信息
    wx.getSetting({
      success: res => {
        if (res.authSetting["scope.userInfo"]) {
          // 已經(jīng)授權(quán),可以直接調(diào)用 getUserInfo 獲取頭像昵稱,不會(huì)彈框
          wx.getUserInfo({
            success: res => {
              // 可以將 res 發(fā)送給后臺(tái)解碼出 unionId
              this.globalData.userInfo = res.userInfo
            }
          })
        }
      }
    })

可以看出兩層的時(shí)候,代碼就很別扭了

promise化小程序

編寫一個(gè)可以promise小程序api的公用函數(shù)

function promisify (method, options = {}) {
  return new Promise((resolve, reject) => {
    // 將options對(duì)象賦值 然后再傳給下面調(diào)用的方法中
    options.success = resolve
    options.fail = err => {
      reject(err)
    }
    wx[method](options)
  })
}
使用示例

傳遞的額外參數(shù)通過(guò)對(duì)象解構(gòu)方式傳遞

promisify("getUserInfo")
  .then((res) => console.log(res))
  .catch((err) => {console.error(err)})

promisify("navigateTo", { url })

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/94167.html

相關(guān)文章

  • wn-cli 像React組件開發(fā)一樣來(lái)開發(fā)微信小程序

    摘要:最后的目的是能滿足所有微信小程序開發(fā)者的需求,全面覆蓋小程序開發(fā)。像開發(fā)一樣,用開發(fā)微信小程序。 項(xiàng)目地址:wn-cli wn-cli wn-cli 像React組件開發(fā)一樣來(lái)開發(fā)微信小程序 名字由來(lái):wn -> weapp native 取第一個(gè)字母 Install npm install wn-cli --save-dev // 或者 yarn add wn-cli --dev U...

    fobnn 評(píng)論0 收藏0
  • 把微信小程序異步API轉(zhuǎn)為Promise,簡(jiǎn)化異步編程,告別層層回調(diào)

    摘要:微信官方?jīng)]有給出來(lái)處理異步操作,而官方異步的又非常多,這使得多異步編程會(huì)層層回調(diào),代碼一復(fù)雜,回調(diào)起來(lái)就想砸電腦。是一個(gè)轉(zhuǎn)換微信小程序異步為的一個(gè)工具庫(kù)優(yōu)點(diǎn)避免小程序異步編程多次回調(diào)帶來(lái)的過(guò)多回調(diào)導(dǎo)致邏輯不清晰,篇幅過(guò)長(zhǎng)等問(wèn)題。 把微信小程序異步API轉(zhuǎn)化為Promise。用Promise處理異步操作有多方便,誰(shuí)用誰(shuí)知道。微信官方?jīng)]有給出Promise API來(lái)處理異步操作,而官方AP...

    antz 評(píng)論0 收藏0
  • 在微信小程序使用音樂api的方法,以及微信小程序播放背景音樂失敗的解決方案匯總

    摘要:下一步準(zhǔn)備使用網(wǎng)易云代替音樂。已經(jīng)開發(fā)新的網(wǎng)易云代替音樂了,需要的可以看看這篇文章為微信小程序開發(fā)的網(wǎng)易云音樂庫(kù) 項(xiàng)目要做一個(gè)可以為日記添加音樂的小程序,所以要用到音樂api,參考了一些文章后我們封裝了一個(gè)qq音樂api庫(kù)(完成了動(dòng)態(tài)token獲取,音樂搜索,音樂專輯圖片,音樂名稱,歌手名稱,播放),有需要的可以到Github自提。 小程序qq音樂api庫(kù)Gihub地址https://...

    Sleepy 評(píng)論0 收藏0
  • 信小程序踩坑系列——從wx.request談?wù)劗惒教幚?/b>

    摘要:其實(shí)我們?cè)谕搅鞒讨胁耪f(shuō)返回,異步?jīng)]有返回這個(gè)概念或者說(shuō)異步返回是沒有意義的,異步對(duì)應(yīng)的是回調(diào),也就是說(shuō),對(duì)于一個(gè)異步函數(shù),我們應(yīng)該傳入一個(gè)回調(diào)函數(shù)來(lái)接收結(jié)果。 原文鏈接:https://www.xksblog.top/talk-... 見到wx.request的第一眼,就讓我想起了$.ajax這東西,使用起來(lái)確實(shí)有很多不方便,不能忍,幸好小程序是支持ES6語(yǔ)法的,所以可以使用pro...

    RdouTyping 評(píng)論0 收藏0
  • 信小程序:使用Promise簡(jiǎn)化回調(diào)

    摘要:了解什么是對(duì)象在項(xiàng)目中,會(huì)出現(xiàn)各種異步操作,如果一個(gè)異步操作的回調(diào)里還有異步操作,就會(huì)出現(xiàn)回調(diào)金字塔。回調(diào)金字塔的簡(jiǎn)化效果那么再來(lái)看看最開始的那個(gè)回調(diào)金字塔登錄請(qǐng)求獲取請(qǐng)求可以看到簡(jiǎn)化效果非常明顯。同樣適用于網(wǎng)頁(yè)或者等中。 showImg(https://segmentfault.com/img/remote/1460000013228704); 了解什么是 Promise 對(duì)象 在項(xiàng)...

    JeOam 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<