本来按照事件顺序,小程序初始化时触发应用里的onLaunch,后面再执行页面页里的onLoad,但是在onLaunch里请求获取是否有权限,等待返回值的时候页面里的onLoad事件就已经执行了。
//app.js 应用程序({>//index.js//获取应用实例 const应用=getApp () 页面({ 数据:{ albumDisabled:没错, bindDisabled:假 },>//app.js 应用程序({>//index.js//获取应用实例 const应用=getApp () 页面({ 数据:{ albumDisabled:没错, bindDisabled:假 },> (应用程序)> 如果(getCurrentPages ()。长度!=0){ (getCurrentPages getCurrentPages () ()。长度- 1].onLoad () }
目前我在开发中使用的是这种方案,
在登录的逻辑里,增加一个回调函数cbLoginCallBack。
页面页面判断一下当前app.globalData.sessionKey是否存在,如果没有第(一次)则定义定义一个应用方法(回调函数)
//登录请求 如果(app.cbLoginCallBack) { typeof app.cbLoginCallBack==δ堋?,app.cbLoginCallBack (cb_login.data) }//逻辑页面 如果(app.globalData.sessionkey) {//初始化数据 其他}{ app.cbLoginCallBack=res=比;{ 如果(res) {//初始化数据 } } }
应用程序页面在请求成功后判断时候有页面页面定义的回调方法,如果有就执行该方法。因为回调函数是在页面里面定义的所以方法作用域这是指向页面页面。
以上所述是小编给大家介绍的微信小程序onLaunch异步,首页onLoad先执行& # 63;,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!