您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關如何解決微信小程序網絡超時的問題的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
微信小程序網絡超時的解決辦法: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); },
感謝各位的閱讀!關于“如何解決微信小程序網絡超時的問題”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。