title: Calmm-way of doing async requests with interval?
body: <p>What's the most elegant way (in <a href="https://github.com/calmm-js/documentation/blob/master/introduction-to-calmm.md" rel="nofollow noreferrer">Calmm stack, Kefir, Karet Utils etc.</a>) of doing repeated (infinite) async jobs with interval?</p>
  
  <p>I want to <code>get</code> some json every <code>2000ms</code>.</p>
  
  <p>Example 1 (2000ms interval):</p>
  
  <ol>
  <li>Fetch json (<code>get</code> takes 100ms)</li>
  <li>Handle json</li>
  <li>Wait the remaining time left on the interval, and start again from step 1</li>
  </ol>
  
  <p>Example 2 (2000ms interval)</p>
  
  <ol>
  <li>Fetch json (<code>get</code> takes 5000ms)</li>
  <li>Handle json</li>
  <li>Wait until steps 1 and 2 are finished before starting again at step 1</li>
  </ol>
  
  <p>So in short, I want to to repeated <code>get</code>s (or any async work) and wait a minimum of <code>2000ms</code> between requests.</p>
  
  <p>I don't want the next request to fire until the previous one has finished in some way (success, fail, timeout).</p>