小程序onLaunch事件的坑

  记一个小程序踩过的坑

小程序项目中app.js里面定义了globalData,即全局变量,里面定义了一个token字段

需求是这样的,每次进入小程序的时候需要检验该token有没有,没有就请求后台获取token,由于我一开始将该检验函数A放在onLaunch事件里面,但是这个函数A是引入的其他js文件里面的,这时候我在这个js文件里面使用const app = getApp()的时候发现获取的是undefined,

后来查到原来onLaunch事件只是小程序刚好初始化完成之后的回调函数,这个时候app还没有创建完成,所以getApp()获取不到app实例,

后来将该检验函数A放在首页页面的onLoad里面就能正常获取到了,但是麻烦的是每个页面的onLoad都要调用检验函数A,防止分享之后用户直接从其他页面进入的情况,有没有一个公用的事件里面调用检验函数A的方法呢?目前我还没找到.

不过可以使用另外一种思路解决这个问题,

就是不用globalData,将所有的全局数据都存在storage里面,但这样又不免有点奇怪,有更好的方法解决这个问题的大牛可以留言在下面哦

 

posted @ 2018-06-08 18:03  林子lxl  阅读(13458)  评论(2编辑  收藏  举报