微信小程序-getUserInfo回調的實例詳解
微信小程序-getUserInfo回調的實例詳解
前言:
這里就不吹噓微信小程序有多厲害了,畢竟也不是我寫的,直接談談我在做小程序開發(fā)時遇到的奇異Bug。
getUserInfo多次調用:
對于wx.getUserInfo應該很多開發(fā)者都用過,用于獲取用戶基本信息,前提是需要用戶授權,如果用戶先前沒有授權,則彈出一個提示框如下:
點擊允許后,我們就能拿到用戶信息,再進行后面的一系列操作。這一切看起來都是那么美好,可是在某次運行中,點允許授權后,程序并沒有按照我們的預期往下執(zhí)行。最后發(fā)現在其他的地方也調用一次了wx.getUserInfo方法,并且只執(zhí)行了其中一個授權成功的回調。假設是如下代碼:
結論:
1. 如果用戶已授權: A B C都會被打印。
2. 用戶未授權:點擊允許后,A B C三個其一會被隨機打印。
當然最好不要在多處同時調用wx.getUserInfo方法,不然遇到這個問題會很頭疼。我對這個問題的看法是,多次調用getUserInfo方法只會產生一個彈窗的實例,所以點擊允許時,只執(zhí)行一次回調也很正常,但是隨機執(zhí)行其中一個方法就很奇怪了。
解決方法:
1. 不同時調用wx.getUserInfo方法,需要同時調用的情況少之又少。
2. 封裝一個getUserInfo方法,把傳入的回調方法存入數組,在授權成功/失敗的回調中遍歷調用后清空數組。
以下是測試環(huán)境:
微信開發(fā)者工具版本:v1.01.170925
基礎庫版本: 1.3.0
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
微信小程序中頁面FOR循環(huán)和嵌套循環(huán)
這篇文章主要介紹了微信小程序中頁面FOR循環(huán)和嵌套循環(huán)的相關資料,需要的朋友可以參考下2017-06-06