Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function debounce(fn, delay) {
- let timer;
- function helper(...args) {
- clearTimeout(timer);
- timer = setTimeout(() => {
- fn.apply(this, args); // keep the original context
- }, delay);
- }
- return helper;
- }
- // ------------Test----------
- // var test = {
- // value: 'test',
- // changeInput: function(key) {
- // console.log('Input changed', key, this.value);
- // }
- // }
- // test.changeInput = debounce(test.changeInput, 1000);
- // for(let i = 0; i <= 10; i++) {
- // test.changeInput(i);
- // }
- // Output 'Input changed', 10, 'test'
- // Only triggered once.
Add Comment
Please, Sign In to add comment