title: AngularJS $q: How to chain promises then do parallel last in the chain?
body: <p>I am trying to chain series of tasks, that returns a promise, the do parallel execution at the last of the chain. The code below doesn't work, I thought you can pass any object that returns a promise inside "then". Is there a proper way of implementing this. Thank you.</p>
  
  <pre><code>var startTask = $q.when (  );
  
  startTasks
     .then ( validate )
     .then ( savePayment )
     .then ( refetchPayment )
     .then ( saveContactInfo )
     .then ( $q.all ( [ updateStatus, submitOrder ] ) )
     .then ( successHandler )
     .catch ( errorHandler );
  </code></pre>