javascript - debounce callback example (delayed callback)
JavaScript[Edit]
+
0
-
0
JavaScript - debounce callback example (delayed callback)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31var createDebounceCallback = function(delay) { // or: delayed debounce callback var handle = null; if (delay == null) { delay = 100; } return function(callback) { if (handle) { clearTimeout(handle); } handle = setTimeout(callback, delay); }; }; // Usage example: var debounceCallback = createDebounceCallback(500); debounceCallback(function() { console.log('Debounce called!!!'); }); debounceCallback(function() { console.log('Debounce called!!!'); }); debounceCallback(function() { console.log('Debounce called!!!'); }); // `Debounce called!!!` should be displayed only once after 500 ms since last debounceCallback() call.
Reset