title: Does done() accomplish the same thing as catch() in Javascript promises (using sequelize and bluebird)?
body: <p>I'm trying to make my Express app handle all requests as similarly as possible. I had a server that handled everything with callbacks and the pyramid of doom was terrible. It was also difficult to ensure that I was sending a response for all the calls.</p>
  
  <p>So I'm migrating to a Promise based system (sequelize, which utilizes bluebird's promise library).</p>
  
  <p>I've read that it's best to always follow up with a <code>.catch(function(err){ report it }</code> call.</p>
  
  <p>Does <code>.done()</code> accomplish the same thing?</p>
  
  <p>My thought (might be naive) is that I can handle all <code>res.status(x).send(y)</code> calls in the <code>.done(success, failure)</code> functions.</p>
  
  <p>Will <code>failure</code> catch everything that <code>catch()</code> would? Is it wrong to send all responses in the <code>done()</code> function (all success messages in <code>success</code> and all failure/error messages in <code>failure</code>?</p>
  
  <p>Edit - I'm finding out that <code>sequelize</code> uses bluebird's promise library, so <code>done()</code> has been depricated for <code>finally()</code>. But, <code>finally()</code> doesn't take parameters in the functions, so it doesn't seem like I can send all data to <code>finally()</code> and handle it there.</p>