You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
rdrew
573c318665
|
2 years ago | |
---|---|---|
.. | ||
promise | 2 years ago | |
promise_ | 2 years ago | |
test | 2 years ago | |
.editorconfig | 2 years ago | |
CHANGELOG.md | 2 years ago | |
CHANGES | 2 years ago | |
LICENSE | 2 years ago | |
README.md | 2 years ago | |
delay.js | 2 years ago | |
max-timeout.js | 2 years ago | |
once.js | 2 years ago | |
package.json | 2 years ago | |
throttle.js | 2 years ago | |
valid-timeout.js | 2 years ago |
README.md
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