摘要:化的原因微信小程序的用的是對(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
摘要:最后的目的是能滿足所有微信小程序開發(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...
摘要:微信官方?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...
摘要:下一步準(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://...
摘要:其實(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...
摘要:了解什么是對(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)...
閱讀 2427·2021-11-16 11:44
閱讀 1898·2021-10-12 10:12
閱讀 2193·2021-09-22 15:22
閱讀 3026·2021-08-11 11:17
閱讀 1522·2019-08-29 16:53
閱讀 2668·2019-08-29 14:09
閱讀 3487·2019-08-29 14:03
閱讀 3319·2019-08-29 11:09