Skip to content
/ big-time Public

Big time makes it possible to have a timeout that is longer than 24.8 days (2^31-1 milliseconds).

License

Notifications You must be signed in to change notification settings

arb/big-time

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Big-Time

Current Version Build Status via Travis CI belly-button-style

Reworking of long-timeout that has more features, follows correct semver, and has unit tests. Big-Time is a custom timer class to allow really long values into setTimeout that are larger than JavaScript would normally support (2^31-1).

Usage

'use strict';
const bt = require('big-time');

bt.setTimeout(() => {
  console.log('if you wait for this, it will eventually log');
}, Number.MAX_VALUE);

const timer = bt.setTimeout(() => {
  console.log('shorter');
}, 1000);
bt.clearTimeout(timer);

API

bt.setTimeout(callback, delay, [arg1, arg2, arg3,...])

Creates a new Big-Time timer object and starts the timer where:

  • callback - the function to execute after delay milliseconds has passed. callback will be called with arg1, arg2, arg3... if they are passed into setTimeout, exactly like native setTimeout
  • delay - an integer representing the number of milliseconds to wait before executing callback. Alternatively, a Date instance can be provided. In this scenario, the delay is computed by subtracting Date.now() from the Date instance.
  • [arg1, arg2, arg3,...] - optional N number of extra parameters that will be passed back into callback.

bt.clearTimeout(timer)

Clears a running Big-Time object.

Timeout.prototype.ref()

When called, requests that the Node.js event loop not exit so long as the Timeout is active. Calling timeout.ref() multiple times will have no effect.

By default, all Timeout objects are "ref'd", making it normally unnecessary to call timeout.ref() unless timeout.unref() had been called previously.

Returns a reference to the Timeout.

Timeout.prototype.unref()

When called, the active Timeout object will not require the Node.js event loop to remain active. If there is no other activity keeping the event loop running, the process may exit before the Timeout object's callback is invoked. Calling timeout.unref() multiple times will have no effect.

Returns a reference to the Timeout.

About

Big time makes it possible to have a timeout that is longer than 24.8 days (2^31-1 milliseconds).

Resources

License

Stars

Watchers

Forks

Packages

No packages published