Sha256: 00c3ca8728538f805bab2d9d9114848bcef66939d860bb1d00a39884a8c8e7b4
Contents?: true
Size: 812 Bytes
Versions: 69
Compression:
Stored size: 812 Bytes
Contents
var now = require('../time/now'); var timeout = require('./timeout'); var append = require('../array/append'); /** * Ensure a minimum delay for callbacks */ function awaitDelay( callback, delay ){ var baseTime = now() + delay; return function() { // ensure all browsers will execute it asynchronously (avoid hard // to catch errors) not using "0" because of old browsers and also // since new browsers increase the value to be at least "4" // http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout var ms = Math.max(baseTime - now(), 4); return timeout.apply(this, append([callback, ms, this], arguments)); }; } module.exports = awaitDelay;
Version data entries
69 entries across 69 versions & 2 rubygems