快速切换tab请求数据,返回数据和选中tab不同步的问题

1,963 阅读1分钟

场景: 每个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)
    }
以上就是解决方法,还有其他方法欢迎大家分享。