继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

holdtom
关注TA
已关注
手记 1885
粉丝 240
获赞 992


小程序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博客作者许琴的原创作品,如需转载,请注明出处,否则将追究法律责任


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP