title: how can I remove a callback from $q.defer() promise object of angularjs
body: <p>Angularjs <code>$q.defer()</code> promise object receives notify callback, and when we give more than one, it keeps and notify all of them, i.e. it does not overwrite to older one.</p>
  
  <pre><code>var def=$q.defer();
  def.promise.then(null, null, callback1);
  def.promise.then(null, null, callback2);
  </code></pre>
  
  <p>Then if I want to remove (unregister), for example, <code>callback2</code>, what should I do?</p>
  
  <p>Here is live example:</p>
  
  <p><a href="http://jsfiddle.net/HB7LU/16177/" rel="nofollow">jsfiddle</a></p>