집 >위챗 애플릿 >미니 프로그램 개발 >WeChat 애플릿 네트워크 시간이 초과되면 어떻게 해야 합니까?
WeChat 애플릿 네트워크 시간 초과에 대한 해결 방법: 1. onLaunch를 실행할 때 작업 시간이 초과되면 오류 수준을 0으로 설정하고 오류 페이지로 리디렉션합니다. 2. 페이지 요청 시간이 초과되면 오류 수준을 2로 설정합니다. 통과할 수 있습니다. 문제를 해결하려면 다시 시도하세요.
WeChat 애플릿 네트워크 시간 초과에 대한 솔루션:
onLaunch
이를 통해 사용자의 기본 정보를 얻거나, 이를 얻을 수 없는 경우 다음 단계 처리를 위해 이를 배치할 수 있습니다. 전체 애플릿이 실패하게 만듭니다. 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
app.json
은 시간 제한을 설정하도록 구성되어 있으며 기본값은 6000밀리초, 즉 6초입니다🎜/** * 页面的初始数据 */ 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); },🎜🎜관련 학습 권장 사항: WeChat Mini 프로그램 개발 튜토리얼🎜🎜🎜 1.
onLaunch
실행 시 작업 시간이 초과되면 오류 수준을 0으로 설정합니다. 오류 페이지 🎜rrreee🎜를 리디렉션합니다. 2. 페이지 요청 시간이 초과되면 오류를 2로 설정하고 🎜rrreee🎜를 다시 시도하여 수정할 수 있습니다. 3. 페이지를 처리합니다. getCurrentPages()
를 사용하여 다음을 수행합니다. 이전 페이지 개체를 가져오려면 wx.navigateTo
를 사용하여 이 페이지로 리디렉션해야 합니다🎜rrreee위 내용은 WeChat 애플릿 네트워크 시간이 초과되면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!