From b22f362ce605fd3db6fe21de2fa599925adc22b3 Mon Sep 17 00:00:00 2001 From: Deven <63876261+devenperez@users.noreply.github.com> Date: Thu, 21 Nov 2024 19:43:33 -0500 Subject: [PATCH] Time: 70 ms (6.24%), Space: 49 MB (83.2%) - LeetHub --- 2627-debounce/2627-debounce.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 2627-debounce/2627-debounce.js diff --git a/2627-debounce/2627-debounce.js b/2627-debounce/2627-debounce.js new file mode 100644 index 0000000..343f5a2 --- /dev/null +++ b/2627-debounce/2627-debounce.js @@ -0,0 +1,19 @@ +/** + * @param {Function} fn + * @param {number} t milliseconds + * @return {Function} + */ +var debounce = function(fn, t) { + let current; + return function(...args) { + if (current) clearTimeout(current) + current = setTimeout(() => fn(...args), t) + } +}; + +/** + * const log = debounce(console.log, 100); + * log('Hello'); // cancelled + * log('Hello'); // cancelled + * log('Hello'); // Logged at t=100ms + */ \ No newline at end of file