微信小程序网络超时的解决办法: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); },
腾讯云 服务器租借域名解析ip怎么操作?日本那个云服务器便宜是否有客服电话-其他问题电脑中CHKN出现繁体乱码如何解决级云服务器配置价格企业网站建设如何选择网站关键词?租用阿里云服务器数据怎么保密