/// 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);