/** * 统一延时工具 * 所有延时调用必须通过此模块,禁止在其他文件中直接使用 setTimeout 或自定义 delay */ /** 延时等级 */ export type DelayLevel = "low" | "mid" | "high" | "max" /** 各等级对应的毫秒数(统一在此处调整) */ const DELAY_MS: Record = { low: 10, // 原<100ms 场景:微等待,点击后极短暂停 mid: 30, // 原100~300ms 场景:等待 DOM 更新、弹出层渲染 high: 500, // 原>300ms 场景:等待接口返回、搜索结果、动画完成 max: 2000, // >2000ms 场景:特殊超长延时(谨慎使用) } /** * 统一延时函数 * @param level 延时等级:low / mid / high / max */ export function delay(level: DelayLevel): Promise { return new Promise((resolve) => setTimeout(resolve, DELAY_MS[level])) }