Plato on Github
Report Home
dojo/debounce.js
Maintainability
83.77
Lines of code
31
Difficulty
7.67
Estimated Errors
0.06
Function weight
By Complexity
By SLOC
define([], function(){ // module: // dojo/debounce // summary: // This module provide a debouncer return function(cb, wait){ // 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; return function(){ if(timer){ clearTimeout(timer); } var self = this; var a = arguments; timer = setTimeout(function(){ cb.apply(self, a); }, wait); }; }; });