场景: 每个tab都默认携带参数,快速切换tab但是数据返回的比较慢,造成选中的tab和返回的数据不同步。
解决方法
在fetchData 函数外保留当前当前tab的值,自执行当前函数并且传递tab值得参
数,比较函数外保存的tab值和自执行函数调用的值是否一致。如果不一致则终止函
数,一致则继续执行。
代码实现
// 切换tab事件
changeTab (val) {
this.currentTab = val;
fetchData()
}
// 请求数据
async fetchData() {
let that = this;
return(async function(current){
if (that.currentTab !== current) {
return false;
}
// 请求数据
ajax...
})(this.currentTab)
}
以上就是解决方法,还有其他方法欢迎大家分享。