examples/bower_components/polymer/polymer.js
function(job, callback, wait) {
      if (typeof job === 'string') {
        var n = '___' + job;
        this[n] = Polymer.job.call(this, this[n], callback, wait);
      } else {
        // TODO(sjmiles): suggest we deprecate this call signature
        return Polymer.job.call(this, job, callback, wait);
      }
    }
function(job, callback, wait) {
      if (typeof job === 'string') {
        var n = '___' + job;
        this[n] = Polymer.job.call(this, this[n], callback, wait);
      } else {
        // TODO(sjmiles): suggest we deprecate this call signature
        return Polymer.job.call(this, job, callback, wait);
      }
    }
function ( job , callback , wait ) { if ( typeof job === 'string' ) { var n = '___' + job ; this [ n ] = Polymer . job . call ( this , this [ n ] , callback , wait ) ; } else { // TODO(sjmiles): suggest we deprecate this call signature return Polymer . job . call ( this , job , callback , wait ) ; } }
Debounce signals.

Call `job` to defer a named signal, and all subsequent matching signals,
until a wait time has elapsed with no new signal.

debouncedClickAction: function(e) {
// processClick only when it's been 100ms since the last click
this.job('click', function() {
this.processClick;
}, 100);
}

@method job
@param String {String} job A string identifier for the job to debounce.
@param Function {Function} callback A function that is called (with `this` context) when the wait time elapses.
@param Number {Number} wait Time in milliseconds (ms) after the last signal that must elapse before invoking `callback`
@type Handle
Debounce signals .