title: Why does deferred.resolve not behave as specified in the q manual?
body: <p>This may be a stupid question, but I am unable to wrap my head around this.</p>
  
  <p>Consider the following piece of code:      </p>
  
  <pre><code>function throwError() {
      throw Error("can't touch this.");
  }
  
  var def = q.defer();
  
  def.promise.then(
    function() {
      console.log("no error");
    },
    function() {
      console.log("error");
    }
  );
  
  q.fcall(throwError).then(def.resolve, def.resolve).done();
  </code></pre>
  
  <p>In my opinion this should print <code>error</code>. Instead, it prints <code>no error</code>.
  The <code>q</code> manual states: </p>
  
  <blockquote>
    <p>The reject function is a shorthand for resolving with a rejected
    promise.</p>
  </blockquote>
  
  <p><code>q.fcall(throwError)</code> should produce a rejected promise, so the deferred should be rejected, right?</p>
  
  <p>Please note that this is a purely hypothetical question, I know that this would not be used in the real world.</p>