场景
- 在用户授权后,发起异步的登陆系统 && 获取token,然后跳转到首页, 首页onload函数发起小程序的首个正式请求, 但是这时候极有可能是没有获取到token, 所以请求也是很可能失败的
分析
-
轮询是否存在token ,直到获得了token才发起请求, 轮询的时候间隔应该足够短, 这样可以确保发起请求的时间足够快
解决
// 循环检查是否存在私有token, 如果存在则发送请求
let interval_id;
let promise = new Promise((resolve, reject)=>{
interval_id = setInterval(()=>{
// 如果存在私有token 则请求最新的期刊
if(token_model.getPersonalToken()){
let promise = this.request({ url: 'api/v1/mini/periodical/latest' }).then(response => {
wx.setStorageSync('latest_classic', response);
resolve(response);
});
}
}, 200);
});
// 清除定时
promise.then(()=>{
clearInterval(interval_id);
}).catch(()=>{
clearInterval(interval_id);
});
return promise;
版权声明:本文为cominglately原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。