微信小程序啟動(dòng)進(jìn)行自動(dòng)登錄問(wèn)題,偶爾提示code過(guò)期

微信小程序啟動(dòng)進(jìn)行自動(dòng)登錄問(wèn)題,偶爾提示code過(guò)期,是由于onLaunch啟動(dòng)進(jìn)行自動(dòng)登錄時(shí),code提交到服務(wù)端,還未返回結(jié)果,頁(yè)面page上執(zhí)行onload請(qǐng)求部分需要登錄的接口--由于此時(shí)還未返回登錄信息,--認(rèn)為當(dāng)前未登錄--跳轉(zhuǎn)到登錄頁(yè),登錄界面服務(wù)端返回自動(dòng)登錄用戶信息,此時(shí)登錄界面用戶點(diǎn)擊登錄按鈕,提示code已被使用,無(wú)法在進(jìn)行登錄操作,原理上就是onLaunch未執(zhí)行完就執(zhí)行了page--onload導(dǎo)致出現(xiàn)問(wèn)題,解決辦法,控制執(zhí)行完onLaunch再去執(zhí)行page--onload,有以下3中方法:

解決辦法

定義回調(diào)函數(shù), onload里獲取不到東西就一直獲取,不執(zhí)行下一步操作,直到獲取到app.js的數(shù)據(jù)才繼續(xù)執(zhí)行。若login返回為空,則給app.js注冊(cè)一個(gè)loginSuccessCallback回調(diào),這個(gè)回調(diào)方法的執(zhí)行時(shí)機(jī),就是app.js中的異步請(qǐng)求完畢

把 app.js 中的 onLaunch 中方法拿到 index.js 文件中,按照自己的邏輯寫(xiě)

使用promise

1.

2.

3.


參考連接http://www.itdecent.cn/p/485d480fea19
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容