title: Batch single rest requests to batch rest request
body: <p>Say I have an api that takes individual get requests and batch requests:
  <code>http://myapiendpoint.com/mysuperitems/1234</code></p>
  
  <p>and</p>
  
  <p><code>http://myapiendpoint.com/mysuperitems/1234,2345,456,5677</code>
  and in my code I have a method for getting singles:</p>
  
  <pre><code>async Task&lt;mysuperitem&gt; GetSingleItem(int x) {
  var endpoint = $"http://myapiendpoint.com/mysuperitems/{x}";
  //... calls single request endpoint
  }
  </code></pre>
  
  <p>but what I want to do is pool the single calls into batch calls.</p>
  
  <pre><code>async Task&lt;mysuperitem&gt; GetSingleItem(int x) {
  //... pool this request in a queue and retrieve it when batch complete
  }
  async Task&lt;IEnumerable&lt;mysuperitem&gt; GetMultiItem(IEnumerable&lt;int&gt; ids){
  //... gets items and lets single item know it's done
  }
  </code></pre>
  
  <p>how would i batch the calls asynchronously and inform the single call of completion. Thinking something with a <code>ConcurrentQueue</code> and <code>Timer</code> job?</p>