title: Sequelize Transaction with async.parallel
body: <p>I want to use managed sequelize transactions with my async.parallel().</p>
  
  <p>Right now, I do this:</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>return sequelize.transaction(function (t) {
      return async.parallel([
        function(callback){ return func1(t, callback); },
        function(callback){ return func2(t, callback); }
      ], function(err){
  
        if(err){
          ...
        }
      });
    }).then(function(){
     ...
    }).catch(function(err){
      ...    
    });</code></pre>
  </div>
  </div>
  </p>
  
  <p>If <code>func1</code> or <code>func2</code> fails before the other one, the transaction is rolled back. Then the next of the two functions will try to use the transaction, but then I get this error:</p>
  
  <p><code>Error: rollback has been called on this transaction(8b7f7cbc-b617-44fb-a9dd-906397e6f7ca), you can no longer use it.</code></p>
  
  <p>which makes sense.</p>
  
  <p>What is the recommended way to work with sequelize transactions and async.parallel together?</p>