itcast 6e512b8ce6 aaaa 10 ماه پیش
..
promise 6e512b8ce6 aaaa 10 ماه پیش
promise_ 6e512b8ce6 aaaa 10 ماه پیش
CHANGELOG.md 6e512b8ce6 aaaa 10 ماه پیش
CHANGES 6e512b8ce6 aaaa 10 ماه پیش
LICENSE 6e512b8ce6 aaaa 10 ماه پیش
README.md 6e512b8ce6 aaaa 10 ماه پیش
delay.js 6e512b8ce6 aaaa 10 ماه پیش
max-timeout.js 6e512b8ce6 aaaa 10 ماه پیش
once.js 6e512b8ce6 aaaa 10 ماه پیش
package.json 6e512b8ce6 aaaa 10 ماه پیش
throttle.js 6e512b8ce6 aaaa 10 ماه پیش
valid-timeout.js 6e512b8ce6 aaaa 10 ماه پیش

README.md

Build status Tests coverage npm version

timers-ext

Timers extensions

Installation

$ npm install timers-ext

To port it to Browser or any other (non CJS) environment, use your favorite CJS bundler. No favorite yet? Try: Browserify, Webmake or Webpack

API

MAX*TIMEOUT *(timers-ext/max-timeout)_

Maximum possible timeout value in milliseconds. It equals to maximum positive value for 32bit signed integer, so 2³¹ (2147483647), which makes it around 24.9 days

delay(fn[, timeout]) (timers-ext/delay)

Returns function which when invoked will call fn function after specified timeout. If timeout is not provided nextTick propagation is used.

once(fn[, timeout]) (timers-ext/once)

Makes sure to execute fn function only once after a defined interval of time (debounce). If timeout is not provided nextTick propagation is used.

var nextTick = require("next-tick");
var logFoo = function () { console.log("foo"); };
var logFooOnce = require("timers-ext/once")(logFoo);

logFooOnce();
logFooOnce(); // ignored, logFoo will be logged only once
logFooOnce(); // ignored

nextTick(function () {
  logFooOnce(); // Invokes another log (as tick passed)
  logFooOnce(); // ignored
  logFooOnce(); // ignored
});

validTimeout(timeout) (timers-ext/valid-timeout)

Validates timeout value.
For NaN resolved timeout 0 is returned. If timeout resolves to a number:

  • for timeout < 0 0 is returned
  • for _0 >= timeout <= MAX_TIMEOUT_, timeout value is returned
  • for _timeout > MAX_TIMEOUT_ exception is thrown

Tests

$ npm test

Security contact information

To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.