鍍金池/ 問答/HTML/ 小程序請求加入session3rd的問題

小程序請求加入session3rd的問題

目前正在開發(fā)一款小程序,基于mpvue,有一個(gè)請求的問題困擾了好久,求大神指點(diǎn)。

問題是,啟動小程序后調(diào)用wx.login拿到code傳給后端,然后獲取session3rd,然后規(guī)定每次請求必須帶上這個(gè)參數(shù),但是現(xiàn)在是,進(jìn)入小程序會請求主頁或者其他頁面的請求,這個(gè)時(shí)候session3rd也是異步的,還沒有獲取到存入緩存,會出現(xiàn)其他請求請求時(shí)沒有帶上這個(gè)參數(shù),請問應(yīng)該怎么處理,才能保證拿到session以后才開始其他請求呢?

回答
編輯回答
尛曖昧

將所有的請求進(jìn)行一次封裝,暫存請求,拋出一個(gè)Promise對象,待到wx.login以及請求服務(wù)端接口獲取到session3rd參數(shù)后再將暫存的請求發(fā)出即可。
這樣能保證所有的請求都是在獲取到session3rd后才會發(fā)起

補(bǔ)充代碼鏈接

首先,一些依賴于session3rd參數(shù)的請求與獲取session3rd的請求一同發(fā)出,這本身就是邏輯問題

所以這里有一個(gè)簡單的示例,暫存請求等待前置請求發(fā)起成功后再執(zhí)行:git地址

2018年7月26日 09:52
編輯回答
心悲涼

我也遇到了相同的問題。小程序一開始就需要至少這2個(gè)異步請求(code換取session3rd,session3rd作為請求頭參數(shù)換取userInfo)。
其實(shí)準(zhǔn)確來說應(yīng)該是3個(gè)異步請求。。因?yàn)閣x.login方法拿code也是異步的。

2017年5月6日 21:25