utilise
Version:
Lean JavaScript Utilities as Micro-libraries
18 lines (14 loc) • 380 B
JavaScript
var is = require('./is')
module.exports = function debounce(d){
var pending, wait = is.num(d) ? d : 100
return is.fn(d)
? next(d)
: next
function next(fn){
return function(){
var ctx = this, args = arguments
pending && clearTimeout(pending)
pending = setTimeout(function(){ fn.apply(ctx, args) }, wait)
}
}
}