這篇文章給大家分享的是有關(guān)如何解決微信小程序網(wǎng)絡(luò)超時(shí)的問(wèn)題的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
長(zhǎng)嶺ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書(shū)銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書(shū)合作)期待與您的合作!
微信小程序網(wǎng)絡(luò)超時(shí)的解決辦法:1、在onLaunch運(yùn)行任務(wù)如果超時(shí),就把錯(cuò)誤級(jí)別定為0,并轉(zhuǎn)向錯(cuò)誤頁(yè)面;2、如果是頁(yè)面請(qǐng)求超時(shí),就把錯(cuò)誤定為2,可以通過(guò)重試來(lái)修復(fù)。
微信小程序網(wǎng)絡(luò)超時(shí)的解決辦法:
onLaunch
通過(guò)這個(gè)我們可以獲取用戶的基本信息,或者定位用來(lái)做下一步處理,如果這個(gè)無(wú)法獲取數(shù)據(jù),會(huì)導(dǎo)致整個(gè)小程序的失敗。
所以我建議可以把錯(cuò)誤分兩個(gè)級(jí)別,假如是開(kāi)發(fā)者服務(wù)器連接不上,可以通過(guò)重載頁(yè)面來(lái)處理,但是如果是onLaunch中的數(shù)據(jù)也無(wú)法獲取就必須讓用戶退出小程序,重新打開(kāi)再試了。
app.json
中配置用來(lái)設(shè)置超時(shí)時(shí)間,默認(rèn)為6000毫秒,也就是6秒
"networkTimeout": { "request": 6000, "downloadFile": 10000 }
相關(guān)學(xué)習(xí)推薦:微信小程序開(kāi)發(fā)教程
一、在onLaunch
運(yùn)行任務(wù)如果超時(shí),我把錯(cuò)誤級(jí)別定為0,并轉(zhuǎn)向錯(cuò)誤頁(yè)面
wx.login({ success(res) { if (res.code) { //console.log(res.code); //發(fā)起網(wǎng)絡(luò)請(qǐng)求 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: '可能網(wǎng)絡(luò)不太好,請(qǐng)重試!', success: function () { wx.navigateTo({ url: '/pages/reload?error=0' }); } }); } }) } else { console.log('登錄失敗!' + res.errMsg) } }, fail: function () { wx.showModal({ title: '提示', showCancel: false, content: '可能網(wǎng)絡(luò)不太好,請(qǐng)重試!', success: function () { wx.navigateTo({ url: '/pages/reload?error=0' }); } }); } });
二、如果是頁(yè)面請(qǐng)求超時(shí),我把錯(cuò)誤定為2,可以通過(guò)重試來(lái)修復(fù)
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: '可能網(wǎng)絡(luò)不太好,請(qǐng)重試!', success: function () { wx.navigateTo({ url: '/pages/reload?error=1' }); } }); } })
三、處理頁(yè)面:要使用getCurrentPages()
獲取上一頁(yè)對(duì)象,必須使用wx.navigateTo
轉(zhuǎn)向此頁(yè)
/** * 頁(yè)面的初始數(shù)據(jù) */ data: { error:0 // 0:需要退出小程序 1:可以重新發(fā)起網(wǎng)絡(luò)請(qǐng)求重試 }, reLoad:function(error) { var pages = getCurrentPages();//獲取頁(yè)面棧 if (pages.length > 1) { //上一個(gè)頁(yè)面實(shí)例對(duì)象 var prePage = pages[pages.length - 2]; let url=prePage.route; var options = prePage.options //如果要獲取url中所帶的參數(shù)可以查看options console.log('options', options); //拼接url的參數(shù) 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, }) } }); } }, /** * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面加載 */ onLoad: function (options) { this.setData({ error: options.error}); // this.reLoad(options.error); },
感謝各位的閱讀!關(guān)于“如何解決微信小程序網(wǎng)絡(luò)超時(shí)的問(wèn)題”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
當(dāng)前名稱:如何解決微信小程序網(wǎng)絡(luò)超時(shí)的問(wèn)題
地址分享:http://bm7419.com/article30/geippo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)、面包屑導(dǎo)航、、網(wǎng)站維護(hù)、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)