例:切换官方时正在loading改为切换HASH
这是一个典型左侧切换tab,右侧内容区根据tab切换刷新请求数据,当我们切换tab内容正在loading中再次切换其他tab就会导致数据紊乱
初步解决以为是第二个接口比第一个快导致,所以我写了一个任务队列
// 创建搜索请求队列
const Queue = [];
// 队列中的搜索请求处理函数
export const processQueue = ()=> {
if (Queue.length > 0) {
const Request = Queue[Queue.length - 1]; // 取出队列中最后一个搜索请求
console.log(Request);
Request()
.then(() => {
// 搜索请求成功后继续处理下一个搜索请求
Queue.pop();
processQueue();
})
.catch(() => {
// 处理搜索请求失败的情况
});
}
};
// 添加搜索请求到队列
export const addToQueue = (Request) =>{
Queue.push(Request);
if (Queue.length === 1) {
// 如果当前队列为空,则开始处理队列
processQu