好久不寫微信小程序快压,已經(jīng)忘了差不多了。
這次本來想用Promise
處理數(shù)據(jù)回調(diào)脉幢,研究了一會發(fā)現(xiàn)還是挺費勁的。
有沒有大佬幫我解答下豆瘫,比如封裝微信的網(wǎng)絡請求wx.request
,有三個回調(diào)success
昵宇、fail
瓦哎、complete
割岛,但是Promise
只有兩個回調(diào)參數(shù),這種情況該如何處理惠爽。
var promise = new Promise(function(resolve, reject) {
})
還是老老實實用回函數(shù)回調(diào),又忘了之前怎么寫的了旬痹,記錄留存閉包寫法。
還是使用云函數(shù)獲取openId
人弓。
/* 獲取openId */
getOpenId: function (callback) {
//查詢本地openId
let openId = wx.getStorageSync('openId')
//回調(diào)
if (openId) {
callback(openId)
return
}
//云函數(shù)獲取openId
wx.cloud.callFunction({
name: 'getContext'
}).then(res => {
app.hideLoading()
let openId = res.result.openId
//緩存openId
wx.setStorageSync('openId', openId)
//回調(diào)
callback(openId)
}).catch(error => {
})
}
調(diào)用:
//獲取openId
this.getOpenId(function (openId) {
console.log(openId)
})