title: Azure Functions: ICollector<T> vs IAsyncCollector<T>
body: <p>What's the difference between <code>ICollector&lt;T&gt;</code> and <code>IAsyncCollector&lt;T&gt;</code> in Azure Functions when writing C# functions (also applies to WebJobs)?</p>
  
  <p>I understand from the samples that these are interfaces I can use to bind a function parameter to an output binding. I also understand that the two interfaces have non-async and async method signatures accordingly (i.e. <code>ICollector&lt;T&gt;.Add(item)</code> and <code>IAsyncCollector&lt;T&gt;.AddAsync(item)</code>). But what do they do under the covers? Do they actually post data to the output binding, or is it internally buffered and flushed at the end of function execution (in which case, why would there by an <code>AddAsync</code> method)?</p>