import { useEffect } from 'react'; /** * 连续调用指定方法指定次数 */ export function useContinueQueryForSpecificTimes({ times, funcArr, interval, start, }: { times: number; funcArr: Array<() => void>; // 间隔毫秒 interval: number; start: boolean; }) { useEffect(() => { let queryTimes = 0; let timer: number | undefined; if (start) { timer = window.setInterval(() => { funcArr.forEach((func) => func && func()); queryTimes += 1; if (queryTimes === times) { window.clearInterval(timer); } }, interval); } return () => { if (timer) { window.clearInterval(timer); } }; }, [times, funcArr, interval, start]); }