好久不寫(xiě)微信小程序,已經(jīng)忘了差不多了。
這次本來(lái)想用Promise處理數(shù)據(jù)回調(diào),研究了一會(huì)發(fā)現(xiàn)還是挺費(fèi)勁的。
有沒(méi)有大佬幫我解答下,比如封裝微信的網(wǎng)絡(luò)請(qǐng)求wx.request,有三個(gè)回調(diào)success、fail、complete,但是Promise只有兩個(gè)回調(diào)參數(shù),這種情況該如何處理。
var promise = new Promise(function(resolve, reject) {
})
還是老老實(shí)實(shí)用回函數(shù)回調(diào),又忘了之前怎么寫(xiě)的了,記錄留存閉包寫(xiě)法。
還是使用云函數(shù)獲取openId。
/* 獲取openId */
getOpenId: function (callback) {
//查詢(xún)本地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)
})