项目需要在首页onLoad之前请求接口获得角色然后隐藏tabbar,请问首页onLoad之前有哪个生命周期?
你可以在page 的 onload 中放一个 init 函数,页面所有初始化操作都在 init 里面来做。在 onload 的时,用个轮询,查询 app.globalData.inited, 当为 true 的时候调用 page.init
我之前有遇到过类似的需求,,做法是在onload中判断身份以后再处理tabbar,除非你是nasa的网速,否则一定来不及的。。。。ajax是异步的啊兄弟…第一次判断完用本地缓存存起来,第二次就不用依赖请求了,体验会稍微好一点,像你说的这个在页面加载之前处理,任何生命周期都不可能那么慢的~
顺序执行app.js -> (app.js)onLaunch -> app.js中App构造器之后的代码 ->顺序调用Page页面js文件、Component组件js文件中所有js代码(官方称注册页面、组件) -> 首页的onLoad…
你这种情况,只考虑时序上的顺序的话,可以在appjs的App()外层先发起请求,然后请求结果挂载到wx全局变量中;或者在得到结果时getApp()查看是否已有app对象,有则挂靠到app中。在page的onLoad中检查是否已有该变量。没有的话就要考虑怎么拿到这个请求回调的事件了。若方案你觉得合适再给你交流。
测试过很多次了,一个最简单的hello world小程序。从app.js文件中第一行执行到page.onLoad耗时平均60、70ms(模拟器)。有业务的话当然要慢很多。