title: Bluebird promises - how to explode an array, then map it?
body: <p>If I have an array:</p>
  
  <pre><code>['one.html','two.html','three.html']
  </code></pre>
  
  <p>how could I explode that array, apply a chain of promises to it, then combine it back together again? At the moment my code is like this:</p>
  
  <pre><code>Promise.map(['one','two','three'], function(i) {
      dbQuery('SELECT ' + i);
  }).then(function(results) {
      // This has an array of DB query results
  });
  </code></pre>
  
  <p>I'm imagining something like:</p>
  
  <pre><code>Promise.map(['one','two','three'], function(i) {
      dbQuery('SELECT ' + i);
  })
  .explode()
  .then(function(result) {
      // Individual result
  })
  .combine()
  .then(function(results) {
      // Now they're back as an array
  });
  </code></pre>
  
  <p>Now, I know Bluebird doesn't have these functions, so I'm wondering what the correct Promise-y way is of doing this?</p>