diff options
Diffstat (limited to 'js/codeq/core.js')
-rw-r--r-- | js/codeq/core.js | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/js/codeq/core.js b/js/codeq/core.js index 84bbfa8..b1d4a5c 100644 --- a/js/codeq/core.js +++ b/js/codeq/core.js @@ -329,8 +329,23 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ }); }, - // codeq event handling + // resolve a promise not sooner than after [timeout] seconds + // from https://github.com/kriskowal/q/commit/681f6d201842d4b99bab5451ebc57ef0c3c0d49a + 'throttle': function (promise, timeout) { + if (timeout === undefined) { + timeout = promise; + promise = undefined; + } + var deferred = Q.defer(); + Q.when(promise, undefined, undefined, deferred.notify); + setTimeout(function () { + deferred.resolve(promise); + }, timeout); + return deferred.promise; + }, + + // codeq event handling 'fire': function (eventName, args) { queuedEvents.push({'name': eventName, 'args': args}); fireEvents(); |