UNPKG

@fle-ui/plus-goods-detail-drawer

Version:

@fle-ui/plus-goods-detail-drawer

27 lines (26 loc) 793 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useDebounce = void 0; var _react = require("react"); /** * 防抖 Hook * @param callback 要防抖的回调函数 * @param delay 延迟时间(毫秒) * @returns 防抖后的函数 */ var useDebounce = exports.useDebounce = function useDebounce(callback, delay) { var timeoutRef = (0, _react.useRef)(null); return (0, _react.useCallback)(function () { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } if (timeoutRef.current) { clearTimeout(timeoutRef.current); } timeoutRef.current = setTimeout(function () { callback.apply(void 0, args); }, delay); }, [callback, delay]); };