title: Throttle JavaScript function calls, but with queuing (don't discard calls)
body: <p>How can a function rate-limit its calls? The calls should not be discarded if too frequent, but rather be queued up and spaced out in time, X milliseconds apart. I've looked at <a href="http://drupalmotion.com/article/debounce-and-throttle-visual-explanation">throttle</a> and <a href="http://blogorama.nerdworks.in/entry-JavaScriptfunctionthrottlingan.aspx">debounce</a>, but they discard calls instead of queuing them up to be run in the future.</p>
  
  <p>Any better solution than a queue with a <code>process()</code> method set on an X millisecond interval? Are there such standard implementations in JS frameworks? I've looked at <a href="http://underscorejs.org/#throttle">underscore.js</a> so far - nothing.</p>