title: AngularJS fn is not a function error using $timeout with a function with parameters
body: <p>I'm making a webpage that you can edit the text and after you stop typing for 1 second it will automagically save what you've typed.</p>
  
  <p>Currently i'm just working out the $timeout details. I have it working when I call the <code>update</code> method with no params, but when I call it with params, I get the error:</p>
  
  <pre><code>Error: fn is not a function $TimeoutProvider/this.$get&lt;/timeout/timeoutId&lt;@http://localhost:63342/express_example/bower_components/angular/angular.js:14014 completeOutstandingRequest@http://localhost:63342/express_example/bower_components/angular/angular.js:4300 Browser/self.defer/timeoutId&lt;@http://localhost:63342/express_example/bower_components/angular/angular.js:4601
  </code></pre>
  
  <p>Why am I getting this error when doing:</p>
  
  <pre><code>timeout = $timeout(update(element, content), 1000);
  </code></pre>
  
  <p>but not when I do:</p>
  
  <pre><code>timeout = $timeout(update, 1000);
  </code></pre>
  
  <p>Obviously I need to pass the params into the update method because I need to know what to update.</p>
  
  <pre><code>debounceUpdate($(this), data.content);
  
  var debounceUpdate = function(element, content) {
      console.log('in debouce');
      if (timeout) {
        $timeout.cancel(timeout);
      }
  
      timeout = $timeout(update(element, content), 1000);
  };
  
  // Update an existing section
  var update = function(element, content) {
      console.log('in update');
      console.log('section_id to update is '+element.data('sectionId'));
      console.log(content);
  }
  </code></pre>