JS中promise化微信小程序api
更新時間:2018年04月12日 08:51:19 投稿:laozhang
這篇文章主要給大家通過代碼實例分析了promise化微信小程序api的使用方法,對此有需要的朋友可以參考學習下。
promise化的原因
微信小程序的api用的是對象參數(shù)回調(diào)模式,很容易造成回調(diào)地獄,代碼難以閱讀,判斷,修改 和調(diào)試.
微信小程序api示例
// 獲取用戶信息 wx.getSetting({ success: res => { if (res.authSetting['scope.userInfo']) { // 已經(jīng)授權,可以直接調(diào)用 getUserInfo 獲取頭像昵稱,不會彈框 wx.getUserInfo({ success: res => { // 可以將 res 發(fā)送給后臺解碼出 unionId this.globalData.userInfo = res.userInfo } }) } } })
可以看出兩層的時候,代碼就很別扭了
promise化小程序
編寫一個可以promise小程序api的公用函數(shù)
function promisify (method, options = {}) { return new Promise((resolve, reject) => { // 將options對象賦值 然后再傳給下面調(diào)用的方法中 options.success = resolve options.fail = err => { reject(err) } wx[method](options) }) }
使用示例
傳遞的額外參數(shù)通過對象解構方式傳遞
promisify('getUserInfo') .then((res) => console.log(res)) .catch((err) => {console.error(err)}) promisify('navigateTo', { url })
相關文章
解決wx.onMenuShareTimeline出現(xiàn)的問題
本文主要介紹解決wx.onMenuShareTimeline出現(xiàn)的問題,這里提供了示例代碼作為參考,有需要的小伙伴可以參考下2016-08-08JavaScript動態(tài)創(chuàng)建form表單并提交的實現(xiàn)方法
這篇文章主要介紹了JavaScript動態(tài)創(chuàng)建form表單并提交的實現(xiàn)方法,涉及JavaScript動態(tài)創(chuàng)建頁面元素及模擬表單提交的技巧,需要的朋友可以參考下2015-12-12使用Function.apply()的參數(shù)數(shù)組化來提高 JavaScript程序性能的技巧
這篇文章主要介紹了使用Function.apply()的參數(shù)數(shù)組化來提高 JavaScript程序性能的技巧,對js function apply相關知識感興趣的朋友一起學習吧2015-12-12