问题描述
程序流程:通过getStorage来检查是否第一次运行,是第一次运行则跳转init的page,不是则保持。
出现问题:在第一次运行的条件下,在iOS上可以检测到小程序是第一次运行,能跳转到init页面;在安卓上无法跳转,在index保持不变。
解决方案
由于带Sync的异步函数会回调,一些时候的代码是必须先执行某一块才能往下执行,不然会影响正常的代码执行逻辑。
将index的getStorageSync函数改为getStorage,安卓端小程序成功进入到init界面,iOS无影响。
代码区域
修改之后的代码
var data=wx.getStorageSync('lock'); console.log(data); if (data=="") { //第一次运行 console.log("第一次运行"); wx.redirectTo({ url: '/pages/init/init' }); }else{ //非第一次运行,读取数据 console.log("非第一次运行"); wx.getStorage({ key:"myclasses", success(res){ a.setData({ wlist:res.data }); } }); wx.getStorage({ key:"class", success(res){ wx.setNavigationBarTitle({ title: res.data, }) } }); loadAD(); }
如果有帮助到你了
就请点个赞哇~