微信小程序网络超时的解决办法: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: #39;https://**/index/zz/getuserinfo #39;, data: { code: res.code success: res = { wx.setStorageSync( #39;open_id #39;, res.data.openid); wx.setStorageSync( #39;session_id #39;, res.data.session_id); wx.setStorageSync( #39;session_key #39;, res.data.session_key); that.globalData.isSessionkey=true; //console.log(res.data); if (that.sessionCallback) { that.sessionCallback(res); },fail:f= wx.showModal({ title: #39;提示 #39;, showCancel: false, content: #39;可能网络不太好,请重试! #39;, success: function () { wx.navigateTo({ url: #39;/pages/reload?error=0 #39; } else { console.log( #39;登录失败! #39; + res.errMsg) }, fail: function () { wx.showModal({ title: #39;提示 #39;, showCancel: false, content: #39;可能网络不太好,请重试! #39;, success: function () { wx.navigateTo({ url: #39;/pages/reload?error=0 #39; });
二、如果是页面请求超时,我把错误定为2,可以通过重试来修复
wx.request({ url: webUrl + model.url, data: model.param, method: model.method, success: function (res) { fail: function (res) { wx.hideLoading(); wx.showModal({ title: #39;提示 #39;, showCancel: false, content: #39;可能网络不太好,请重试! #39;, success: function () { wx.navigateTo({ url: #39;/pages/reload?error=1 #39; })
三、处理页面:要使用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( #39;options #39;, options); //拼接url的参数 var urlWithArgs = url + #39;? #39; for (var key in options) { var value = options[key] urlWithArgs += key + #39;= #39; + value + #39; #39; urlWithArgs = urlWithArgs.substring(0, urlWithArgs.length - 1) wx.reLaunch({ url: #39;/ #39; + urlWithArgs, fail:function(e) wx.switchTab({ url: #39;/ #39; + prePage.route, * 生命周期函数--监听页面加载 onLoad: function (options) { this.setData({ error: options.error}); // this.reLoad(options.error); },
以上就是微信小程序网络超时怎么办?的详细内容,更多请关注php中文网其它相关文章!
微信app下载
微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!