title: jQuery promise .done() is firing immediately, not waiting for server to return
body: <p>I'm trying to use the .done() event of the promise returned from my $.post() function.  The server-side function it's calling takes five seconds to return.  The problem is the .done() event is firing immediately, as if it's already done.  See my code below.  If I define a success function in-line with the .post() call it works correctly, it's only the .done() event on the promise object that goes right away.  Any idea what I'm missing?</p>
  
  <pre><code>    $(document).ready(function () {
  
          $("img.spinner").hide();
  
          var hideSpinner = function (img) {
              $(img).hide();                
          }
  
          $("button.Update").click(function () {
  
              var img = $(this).siblings("img.spinner").show();
  
              var promise = $.post('/MyFunc/Func',
                  function(){
                      $(img).hide();
                  }
                  );
  
              promise.done(hideSpinner(img));
  
          });
  
  
      })
  </code></pre>