微信小程序网络超时怎么办?

广告:宝塔Linux面板高效运维的服务器管理软件 点击【 https://www.bt.cn/p/uNLv1L 】立即购买

微信小程序网络超时怎么办?

微信小程序网络超时的解决办法:1、在onLaunch运行任务如果超时,就把错误级别定为0,并转向错误页面;2、如果是页面请求超时,就把错误定为2,可以通过重试来修复。

微信小程序网络超时的解决办法:

onLaunch通过这个我们可以获取用户的基本信息,或者定位用来做下一步处理,如果这个无法获取数据,会导致整个小程序的失败。

所以我建议可以把错误分两个级别,假如是开发者服务器连接不上,可以通过重载页面来处理,但是如果是onLaunch中的数据也无法获取就必须让用户退出小程序,重新打开再试了。

app.json 中配置用来设置超时时间,默认为6000毫秒,也就是6秒

"networkTimeout": {    "request": 6000,    "downloadFile": 10000  }
登录后复制

相关学习推荐:微信小程序开发教程

一、在onLaunch运行任务如果超时,我把错误级别定为0,并转向错误页面

wx.login({      success(res) {        if (res.code) {          //console.log(res.code);          //发起网络请求          wx.request({            url: 'https://**/index/zz/getuserinfo',            data: {              code: res.code            },            success: res => {                          wx.setStorageSync('open_id', res.data.openid);              wx.setStorageSync('session_id', res.data.session_id);              wx.setStorageSync('session_key', res.data.session_key);              that.globalData.isSessionkey=true;              //console.log(res.data);              if (that.sessionCallback) {                        that.sessionCallback(res);              }                         },fail:f=>            {              wx.showModal({                title: '提示',                showCancel: false,                content: '可能网络不太好,请重试!',                success: function () {                  wx.navigateTo({                    url: '/pages/reload?error=0'                  });                }              });            }          })        } else {          console.log('登录失败!' + res.errMsg)        }            }, fail: function () {        wx.showModal({          title: '提示',          showCancel: false,          content: '可能网络不太好,请重试!',          success: function () {            wx.navigateTo({              url: '/pages/reload?error=0'            });          }        });      }    });
登录后复制

二、如果是页面请求超时,我把错误定为2,可以通过重试来修复

wx.request({    url: webUrl + model.url,    data: model.param,    method: model.method,    success: function (res) {     },    fail: function (res) {      wx.hideLoading();      wx.showModal({        title: '提示',        showCancel: false,        content: '可能网络不太好,请重试!',        success: function () {          wx.navigateTo({            url: '/pages/reload?error=1'          });        }      });    }  })
登录后复制

三、处理页面:要使用getCurrentPages()获取上一页对象,必须使用wx.navigateTo转向此页

/**  * 页面的初始数据  */ data: {  error:0 // 0:需要退出小程序 1:可以重新发起网络请求重试 }, reLoad:function(error) {   var pages = getCurrentPages();//获取页面栈   if (pages.length > 1) {     //上一个页面实例对象     var prePage = pages[pages.length - 2];     let url=prePage.route;     var options = prePage.options //如果要获取url中所带的参数可以查看options     console.log('options', options);     //拼接url的参数     var urlWithArgs = url + '?'     for (var key in options) {       var value = options[key]       urlWithArgs += key + '=' + value + '&'     }     urlWithArgs = urlWithArgs.substring(0, urlWithArgs.length - 1)          wx.reLaunch({       url: '/' + urlWithArgs,       fail:function(e)       {         wx.switchTab({           url: '/' + prePage.route,         })       }     });   }  },   /**   * 生命周期函数--监听页面加载   */  onLoad: function (options) {    this.setData({ error: options.error});   // this.reLoad(options.error);  },
登录后复制

以上就是微信小程序网络超时怎么办?的详细内容,更多请关注9543建站博客其它相关文章!

广告:SSL证书一年128.66元起,点击购买~~~

9543建站博客
一个专注于网站开发、微信开发的技术类纯净博客。
作者头像
admin创始人

肥猫,知名SEO博客站长,14年SEO经验。

上一篇:使用Yii框架优化Web应用程序性能
下一篇:利用.NET号开发微信公众号创建自定义菜单方法

发表评论

关闭广告
关闭广告