export const isBrowser = typeof document !== 'undefined'; /** * 等待某个css 选择器加载出来,要确定这个选择器肯定能加载出来才调用,否则应传入 retryCount * @param selector css选择器 */ export const waitElement = (selector: string, { time = 100, wrapper = document, retryCount = 50, }: { time?: number, wrapper?: Document | Element; retryCount?: number; } = {}) => { return new Promise((resolve) => { if (wrapper.querySelector(selector)) { resolve(true); } else { setTimeout(async () => { if (wrapper.querySelector(selector)) { resolve(true); } else if (!retryCount) { resolve(false); } else { const result = await waitElement(selector, { time, wrapper, retryCount: retryCount - 1 }); resolve(result); } }, time); } }) }