just-throttle
Advanced tools
Comparing version 1.0.2 to 1.1.0
15
index.js
module.exports = throttle; | ||
function throttle (fn, interval, immediate) { | ||
function throttle(fn, interval, callFirst) { | ||
var wait = false; | ||
var callNow = false; | ||
return function () { | ||
var callNow = immediate && !wait; | ||
return function() { | ||
callNow = callFirst && !wait; | ||
var context = this; | ||
@@ -12,11 +12,14 @@ var args = arguments; | ||
wait = true; | ||
setTimeout(function () { | ||
setTimeout(function() { | ||
wait = false; | ||
return fn.apply(context, args); | ||
if (!callFirst) { | ||
return fn.apply(context, args); | ||
} | ||
}, interval); | ||
} | ||
if (callNow) { | ||
callNow = false; | ||
return fn.apply(this, arguments); | ||
} | ||
} | ||
}; | ||
} |
{ | ||
"name": "just-throttle", | ||
"version": "1.0.2", | ||
"version": "1.1.0", | ||
"description": "return a throttled function", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
2561
4
23