title: Promise fulfill after each loop complete
body: <pre><code>promise.each(function(obj){
      obj.doIntensiveWork()
      .then(function(){
          console.log("I AM FIRST")
      })
  })
  .then(function(){
      console.log("I AM SECOND")
  })
  </code></pre>
  
  <p>let's say <code>doIntensiveWork()</code> takes quite some time to fulfill. <strong>"I AM SECOND"</strong> would be logged before <strong>"I AM FIRST"</strong>, since <code>each</code> is resolved as <code>doIntensiveWork()</code> is called (but not fulfilled) on every obj. Is that correct?</p>
  
  <p>If yes, how can I invert this to make sure <strong>"I AM SECOND"</strong> gets logged <strong>only once</strong> and after the last <strong>"I AM FIRST"</strong> log? I am using the <a href="https://github.com/petkaantonov/bluebird/blob/master/API.md" rel="nofollow"><strong>Bluebird API</strong></a></p>