Files
NapCatQQ/.pnpm-store/v3/files/56/085298868ec28a1e5118e34f433299eb439c2cfb2fe98dcf76c9f2e9d5858eb39172b4369dbe8ef8c7bd2d8a95f7ca5dd892e9f17a96dce601becad3d9c9b9
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

26 lines
796 B
Plaintext

import { useCallback, useEffect, useRef } from 'react';
import useMemoizedFn from '../useMemoizedFn';
import { isNumber } from '../utils';
var useInterval = function (fn, delay, options) {
if (options === void 0) { options = {}; }
var timerCallback = useMemoizedFn(fn);
var timerRef = useRef(null);
var clear = useCallback(function () {
if (timerRef.current) {
clearInterval(timerRef.current);
}
}, []);
useEffect(function () {
if (!isNumber(delay) || delay < 0) {
return;
}
if (options.immediate) {
timerCallback();
}
timerRef.current = setInterval(timerCallback, delay);
return clear;
}, [delay, options.immediate]);
return clear;
};
export default useInterval;