title: Exception gets swallowed in promise chain
body: <p>I noticed something very strange happening when an exception is thrown inside a chain of promises in Parse for React Native.  The promise chain never resolves, and never rejects, and the exception is never thrown.  It just disappears silently.</p>
  
  <p>Here's sample code to recreate the problem:</p>
  
  <pre><code>// Replacing this with Promise.resolve() prints the error.
  // Removing this stage prints the error.
  Parse.Promise.as()
    // Removing this stage causes a red screen error.
    .then(function() {
      // Replacing this with Parse.Promise.as() causes a red screen error.
      return Promise.resolve();
    })
    .then(function () {
      throw new Error("There was a failure");
    })
    .then(function () { console.log("Success")}, function (err) { console.log(err) });
  </code></pre>
  
  <p>As you can see from the comments, it only seems to happen in this particular sequence of events.  Removing a stage, or swapping a Parse promise for a native JS promise, causes things to behave again. (In my actual code, the "Promise.resolve()" stage is actually a call into a native iOS method that returns a promise.)</p>
  
  <p>I'm aware that Parse promises don't behave <em>exactly</em> like A+ compliant promises (cf. <a href="https://stackoverflow.com/a/31223217/2397068">https://stackoverflow.com/a/31223217/2397068</a>). Indeed, calling <code>Parse.Promise.enableAPlusCompliant()</code> before this section of code causes the exception to be caught and printed. But I thought that Parse promises and native JS promises could be used together safely.</p>
  
  <p>Why is this exception disappearing silently?</p>
  
  <p>Thank you.</p>