Sha256: 1c780d434046331483a2c97d816250ca413bbb5062ad079f1c8ca428b1a122c2
Contents?: true
Size: 750 Bytes
Versions: 86
Compression:
Stored size: 750 Bytes
Contents
/** * Module exports. */ module.exports = throttle; /** * Returns a new function that, when invoked, invokes `func` at most one time per * `wait` milliseconds. * * @param {Function} func The `Function` instance to wrap. * @param {Number} wait The minimum number of milliseconds that must elapse in between `func` invokations. * @return {Function} A new function that wraps the `func` function passed in. * @api public */ function throttle (func, wait) { var rtn; // return value var last = 0; // last invokation timestamp return function throttled () { var now = new Date().getTime(); var delta = now - last; if (delta >= wait) { rtn = func.apply(this, arguments); last = now; } return rtn; }; }
Version data entries
86 entries across 79 versions & 3 rubygems