溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

微信小程序中g(shù)etUserInfo回調(diào)的示例分析

發(fā)布時(shí)間:2021-06-08 15:08:53 來源:億速云 閱讀:150 作者:小新 欄目:移動(dòng)開發(fā)

這篇文章主要介紹微信小程序中g(shù)etUserInfo回調(diào)的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

微信小程序-getUserInfo回調(diào)的實(shí)例詳解

前言:

這里就不吹噓微信小程序有多厲害了,畢竟也不是我寫的,直接談?wù)勎以谧鲂〕绦蜷_發(fā)時(shí)遇到的奇異Bug。

getUserInfo多次調(diào)用:

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

微信小程序中g(shù)etUserInfo回調(diào)的示例分析

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

微信小程序中g(shù)etUserInfo回調(diào)的示例分析

結(jié)論:

1. 如果用戶已授權(quán): A B C都會(huì)被打印。

2. 用戶未授權(quán):點(diǎn)擊允許后,A B C三個(gè)其一會(huì)被隨機(jī)打印。

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

解決方法:

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

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

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

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

基礎(chǔ)庫(kù)版本: 1.3.0

以上是“微信小程序中g(shù)etUserInfo回調(diào)的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI