微信小程序目前没有提供刷新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及判断是否断网微信