mirror of
https://github.com/ant-design/ant-design.git
synced 2025-06-17 23:50:52 +08:00

Some checks are pending
Publish Any Commit / build (push) Waiting to run
✅ test v6 / lint (push) Waiting to run
✅ test v6 / test-react-legacy (18, 1/2) (push) Waiting to run
✅ test v6 / test-react-legacy (18, 2/2) (push) Waiting to run
✅ test v6 / test-node (push) Waiting to run
✅ test v6 / test-react-latest (dom, 1/2) (push) Waiting to run
✅ test v6 / test-react-latest (dom, 2/2) (push) Waiting to run
✅ test v6 / test-react-latest-dist (dist, 1/2) (push) Blocked by required conditions
✅ test v6 / test-react-latest-dist (dist, 2/2) (push) Blocked by required conditions
✅ test v6 / test-react-latest-dist (dist-min, 1/2) (push) Blocked by required conditions
✅ test v6 / test-react-latest-dist (dist-min, 2/2) (push) Blocked by required conditions
✅ test v6 / test-coverage (push) Blocked by required conditions
✅ test v6 / build (push) Waiting to run
✅ test v6 / test lib/es module (es, 1/2) (push) Waiting to run
✅ test v6 / test lib/es module (es, 2/2) (push) Waiting to run
✅ test v6 / test lib/es module (lib, 1/2) (push) Waiting to run
✅ test v6 / test lib/es module (lib, 2/2) (push) Waiting to run
👁️ Visual Regression Persist Start / test image (push) Waiting to run
* refactor: use @rc-component * chore: adjust compile * test: fix logic * chore: back of reset --------- Co-authored-by: 二货机器人 <smith3816@gmail.com>
26 lines
505 B
TypeScript
26 lines
505 B
TypeScript
import raf from '@rc-component/util/lib/raf';
|
|
|
|
function throttleByAnimationFrame<T extends any[]>(fn: (...args: T) => void) {
|
|
let requestId: number | null;
|
|
|
|
const later = (args: T) => () => {
|
|
requestId = null;
|
|
fn(...args);
|
|
};
|
|
|
|
const throttled = (...args: T) => {
|
|
if (requestId == null) {
|
|
requestId = raf(later(args));
|
|
}
|
|
};
|
|
|
|
throttled.cancel = () => {
|
|
raf.cancel(requestId!);
|
|
requestId = null;
|
|
};
|
|
|
|
return throttled;
|
|
}
|
|
|
|
export default throttleByAnimationFrame;
|