import { Loading as ElLoading } from 'element-ui';
let loading = null;
let loadingName = 'default';
let loadingStatus = false;
const hideLoading = (name = 'default') => {
if (name === loadingName) {
loadingStatus = false;
loadingName = '';
setTimeout(() => {
loading.close();
}, 500);
}
};
const showLoading = (
name = 'default',
other = { timeout: 20, text: '数据加载中' },
) => {
if (loadingStatus) {
return;
}
loadingStatus = true;
loadingName = name;
if (loading) {
loading.close();
}
let options = {
fullscreen: true,
lock: true,
};
const currentLoading = ElLoading.service(options);
let num = 0;
let timer = setInterval(() => {
num += 1;
if (num >= other.timeout) {
clearInterval(timer);
if (loading === currentLoading) {
hideLoading(name);
}
}
}, 1000);
loading = currentLoading;
};
export { showLoading, hideLoading };
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探