The throttling has been factored into $.throttled. This restores
the call site to simplicity. $.throttled itself is pretty complex.
var gQueue = []; var gNextTime = 0; $.throttled = function(url, k) { gQueue.push([url, k]); if (gQueue.length == 1) schedule(); function schedule() { setTimeout(function() { gNextTime = new Date().getTime() + 1000; var entry = gQueue.shift(); $.get(entry[0], entry[1]); if (gQueue.length) schedule(); }, Math.max(0, gNextTime - new Date().getTime())); } };
for (var i = 0; i < 10; i++) $.throttled('services/time', log);