@input="debounce(someMethod, 100, 'something')"
кстати о почему бы не так:
const registry = {
/*{timer: TimerObject, delay: Ms}*/
}
export default function debounce(callback, delay) {
const func = registry[callback]
const args = Array.prototype.slice.call(arguments, 2)
if (func != null) {
// Already registered callback
clearTimeout(func.timer)
func.timer = setTimeout(function() {
callback.apply(this, args)
delete registry[callback]
}, func.delay)
} else {
// New callback
registry[callback] = {
delay,
timer: setTimeout(function() {
callback.apply(this, args)
delete registry[callback]
}, delay)
}
}
}