title: Sequelize findOrCreate() -- .catch() block executed after spread() during no error
body: <p>My error is similar to this <a href="https://stackoverflow.com/questions/36212942/sequelize-findorcreate-falling-back-to-catch-if-data-is-found?rq=1">post</a>:</p>
  
  <p>Using sequelize.js as an ORM handler.
  queryCondition variable value: {where: {$or: [{username:user.username},{email:user.email}]},defaults:user}</p>
  
  <p>Problem: After successfully saving a user instance to the database, the <code>spread()</code> is called as recommended after invoking <code>findOrCreate()</code>. The function block in <code>spread()</code> is invoked, then immediately after the <code>.catch()</code> block is invoked. No clue why this is happening. Can someone please help?</p>
  
  <pre><code> model.User.findOrCreate(queryCondition).spread(function(user, created){
      callback &amp;&amp; callback(user, created);
   }).catch(function(error){
       callback &amp;&amp; callback(null, null, error);
   });
  </code></pre>