Does Bluebird "map" return early?
<p>Let's imagine that I have 10 promises running that will be passed to <code>Promise.map()</code> with its default concurrency setting of <code>3</code>.</p>

<p>If any of the first 3 promises are rejected, will the other 7 be even started?</p>

<p><a href="http://bluebirdjs.com/docs/api/promise.map.html" rel="nofollow noreferrer">Bluebird's docs</a> for <code>map()</code> states the following:</p>

<blockquote>
  <p><em>Promises returned by the mapper function are awaited for and the returned promise doesn't fulfill until all mapped promises have fulfilled as well. If any promise in the array is rejected, or any promise returned by the mapper function is rejected, the returned promise is rejected as well</em>.</p>
</blockquote>

<p>It only states that if all fulfill, then the inner promises are awaited, but it's not clear to me what happens if any of them is rejected.</p>

<h2>Edit</h2>

<p>I'm aware that the canonical definition of the <code>map</code> function is that the output's length is the same as the size of the input, but I'm not sure if Bluebird honors this.</p>