define([], function(){
// module:
// dojo/debounce
// summary:
// This module provide a debouncer
// summary:
// Create a function that will only execute after `wait` milliseconds
// description:
// Create a function that will only execute after `wait` milliseconds
// of repeated execution. Useful for delaying some event action slightly to allow
// for rapidly-firing events such as window.resize, node.mousemove and so on.
// cb: Function
// A callback to fire. Like hitch() and partial(), arguments passed to the
// returned function curry along to the original callback.
// wait: Integer
// Time to spend caching executions before actually executing.
var timer;
if(timer){
clearTimeout(timer);
}
var self = this;
var a = arguments;
cb.apply(self, a);
}, wait);
};
};
});