JSFiddle - React, Tailwind, and code Playground
by kontrach
JavaScript
var request = (function(){
var firstTimeCall = new Date().getTime();
var called;
var args = [];
var timer;
return function(){
var currentTimeCall = new Date().getTime();
var differentBetweenCalls = currentTimeCall - firstTimeCall;
var i;
console.log('delta is: ' + (differentBetweenCalls));
if(arguments.length !== 0) {
for(i = 0; i < arguments.length; i++) {
args.push(arguments[i]);
}
}
if(called) {
return;
} else {
called = true;
timer = setTimeout( function(){
console.log(args);
called = false;
firstTimeCall = new Date().getTime();
args = [];
}, (300 - differentBetweenCalls) );
}
}
}());
setTimeout(request, 50);
setTimeout(function () {
request(function a () {
console.log('this is a function');
});
}, 150);
setTimeout(function () {
request(true, [1, 2, 3]);
}, 200);
setTimeout(function () {
request({
prop1 : 'smth',
prop2 : 'light'
});
}, 250);
setTimeout(function () {
request('Get me now!');
}, 400);
setTimeout(function () {
request(['long', 'looooong', 'array']);
}, 510);
setTimeout(function () {
request('last string');
}, 620);