小程序模板網(wǎng)

微信小程序-getUserInfo回調(diào)

發(fā)布時間:2018-04-25 09:55 所屬欄目:小程序開發(fā)教程

					

這里就不吹噓微信小程序有多厲害了,畢竟也不是我寫的,直接談談我在做小程序開發(fā)時遇到的奇異Bug。

getUserInfo多次調(diào)用:

對于wx.getUserInfo應該很多開發(fā)者都用過,用于獲取用戶基本信息,前提是需要用戶授權,如果用戶先前沒有授權,則彈出一個提示框如下:

點擊允許后,我們就能拿到用戶信息,再進行后面的一系列操作。這一切看起來都是那么美好,可是在某次運行中,點允許授權后,程序并沒有按照我們的預期往下執(zhí)行。最后發(fā)現(xiàn)在其他的地方也調(diào)用一次了wx.getUserInfo方法,并且只執(zhí)行了其中一個授權成功的回調(diào)。假設是如下代碼:

結(jié)論:

  1. 如果用戶已授權: A B C都會被打印。

  2. 用戶未授權:點擊允許后,A B C三個其一會被隨機打印。

當然最好不要在多處同時調(diào)用wx.getUserInfo方法,不然遇到這個問題會很頭疼。我對這個問題的看法是,多次調(diào)用getUserInfo方法只會產(chǎn)生一個彈窗的實例,所以點擊允許時,只執(zhí)行一次回調(diào)也很正常,但是隨機執(zhí)行其中一個方法就很奇怪了。

解決方法:

  1. 不同時調(diào)用wx.getUserInfo方法,需要同時調(diào)用的情況少之又少。

  2. 封裝一個getUserInfo方法,把傳入的回調(diào)方法存入數(shù)組,在授權成功/失敗的回調(diào)中遍歷調(diào)用后清空數(shù)組。

以下是測試環(huán)境:

微信開發(fā)者工具版本:v1.01.170925

基礎庫版本: 1.3.0

如有問題或不恰當之處,歡迎斧正。



易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://22321a.com/wxmini/doc/course/23996.html 復制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢:800182392 點擊咨詢
QQ在線咨詢