搜尋
首頁微信小程式小程式開發微信小程式網路逾時怎麼辦?

微信小程式網路逾時怎麼辦?

Jul 14, 2020 pm 03:08 PM
微信小程式網路逾時

微信小程式網路超時的解決方法: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);
  },

以上是微信小程式網路逾時怎麼辦?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境