为了账号安全,请及时绑定邮箱和手机立即绑定

小程序onLaunch异步,首页onLoad却先执行的解决办法

标签:
AngularJS


小程序onLaunch异步,首页onLoad却先执行的解决办法

首先在app.js中的onLaunch中写入一个你要先执行的调用方法。如图:

我这里要在最开始onload之前获取到网络状态:

getNetworkInfo()

//onLaunch异步,首页onLoad先执行bug的处理

    getNetworkInfo:function(cb){

        var that = this

        if(that.globalData.isBtnStatus.NetworkStatus != '0'){

          typeof cb == "function" && cb(that.globalData.isBtnStatus.NetworkStatus)

        }else{

            wx.getNetworkType({

                success: function(res) {

                  //console.log('onLaunch网络:'+res.networkType);

                  // 返回网络类型, 有效值:wifi/2g/3g/4g/unknown(Android下不常见的网络类型)/none(无网络)

                  var networkType = res.networkType

                  if (networkType != 'none') {

                      that.globalData.isBtnStatus.NetworkStatus = 1;

                      typeof cb == "function" && cb(1);

                  }

                }

              })

              wx.onNetworkStatusChange(function(res) {

                  if (that.globalData.isBtnStatus.NetworkStatus != res.isConnected

                      && true == res.isConnected) {

                      // WxNotificationCenter.postNotificationName("NetworkPageRefresh", true);

                  }

                  that.globalData.isBtnStatus.NetworkStatus = res.isConnected;

                  typeof cb == "function" && cb( that.globalData.isBtnStatus.NetworkStatus);

              })            

        }

    },

然后再在项目pages里面的首页index.js中的onload里面取值:

小程序onLaunch异步,首页onLoad却先执行的解决办法

app.getNetworkInfo(function(retStatus){

        //console.log('onLoad网络NetworkStatus1:'+retStatus);

        //console.log('onLoad网络NetworkStatus2:'+app.globalData.isBtnStatus.NetworkStatus);

        if (app.globalData.isBtnStatus.NetworkStatus == 1) {

            that.networkSucc(that);

        }else{

            that.networkFail(that);

        }

    })  

逻辑是:当进入onload,如果有网络就处理加载项目数据,如果没有网络就给出没网络的友好提示图片页面。

思路来源:

https://blog.csdn.net/qq_29246395/article/details/77567365

The end

©著作权归作者所有:来自51CTO博客作者许琴的原创作品,如需转载,请注明出处,否则将追究法律责任


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消