微信小程序目前没有提供刷新API,所以要自己去记录当前操作,点击刷新重新执行一遍
#點擊'重新載入'重新載入頁面
由於做專案時,頁面渲染離不開介面請求,所以我封裝了一下wx.request來判斷是否斷網,及斷網後記錄本次請求
/** * obj request请求参数 * cb requrst请求成功回掉 * page 当前page实例 **/ function wxRequest (obj, cb, page, type) { var isOne = true var cachFn = function () { wx.request({ url: obj.url, data: obj.data || {}, method: obj.method || 'GET', success: function (res) { cb.call(page, res) if (!page.data.isNet) { page.setData({ isNet: true }) } }, // fail执行时当断网处理 fail: function () { // 防止fail 有时会执行两次,影响渲染 if (!isOne) { return } page.setData({ isNet: false, isRequested: false }) // 记录本次请求,加载时,执行page实例的reloadFn即可 page.reloadFn = wxRequest(obj, cb, page, 1) isOne = false } }) } if (type) { page.isRequested = true } return type ? cachFn : cachFn() }
let data = { url: '', data: {}, method: '' } wxTools.wxRequest(data, (res) => { // 数据渲染 this.setData({}) }, this)
斷網時,執行this.reloadFn就回重新上一次請求,isNet及判斷是否斷網
【相關推薦】
1. 微信小程式完整原始碼
2. 微信小程式demo:陽淘
以上是微信開發時斷網重新載入的解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!