ホームページ >WeChat アプレット >ミニプログラム開発 >WeChat開発中の切断とリロードの解決策
微信小程序目前没有提供刷新API,所以要自己去记录当前操作,点击刷新重新执行一遍
「再読み込み」をクリックしてページを再読み込みします
プロジェクトを実行するとき、ページレンダリングをインターフェースリクエストから分離できないため、wxをカプセル化しました。リクエストネットワークが切断されているかどうかを判断し、ネットワーク切断後にこのリクエストを記録します
/** * 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に戻り、ネットワークが切断されているかどうかを判断します
[関連の推奨事項]
以上がWeChat開発中の切断とリロードの解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。