在线培训网站次要关键词,网页制作的企业,网站建设与程序编辑,建设营销型网站模板具体问题#xff1a;切换tab页切换过快时,上一个列表接口未响应完和当前列表数据冲突 出现数据错误
具体效果如下#xff1a; 解决方式#xff1a;原理 通过判断是否存在request 存在中断 并发送新请求 不存在新请求
let shouldAbort false; // 添加一个中断标志
let re…具体问题切换tab页切换过快时,上一个列表接口未响应完和当前列表数据冲突 出现数据错误
具体效果如下 解决方式原理 通过判断是否存在request 存在中断 并发送新请求 不存在新请求
let shouldAbort false; // 添加一个中断标志
let requestTask null; // 请求实体
// 定义中断请求的方法
function abortRequest() {// 如果存在请求 则中断shouldAbort true;if (requestTask) {requestTask.abort();}
}// 标签页切换chageIndex(e) {// 中断请求方法abortRequest();this.setData({selectIndex: e.currentTarget.dataset.index,[params.page]: 0,louList: [],})this.getList()},getList() {wx.showLoading()requestTask wx.request({url: getApp().globalData.baseUrl webform/v1/system/49603D09F8B64F068F77B7FC965410E0/app/a0d9b36099554cfe9996fd215005b11e/form/ed29dce86a134931a215a76c42ad5dee/find,header: {Authorization: wx.getStorageSync(TaoLouToken)},method: post,data: this.data.params,success: res {this.setListRes(res.data)},fail: err {console.log(err)}})wx.hideLoading()},setListRes(res) {if (shouldAbort) {return;}// 处理请求结果if (res.success) {if (res.data.content.length 0) {this.setData({louList: this.data.louList.concat(res.data.content),pageTotal: res.data.totalPages})} else {this.setData({pageTotal: res.data.totalPages})}}},