Kevin 29b9a0c50c clean && clean html base 4 years ago
..
.DS_Store 29b9a0c50c clean && clean html base 4 years ago
CHANGELOG.md 29b9a0c50c clean && clean html base 4 years ago
LICENSE.md 29b9a0c50c clean && clean html base 4 years ago
README.md 29b9a0c50c clean && clean html base 4 years ago
main.js 29b9a0c50c clean && clean html base 4 years ago
package.json 29b9a0c50c clean && clean html base 4 years ago

README.md

Overview

Adds support for the timers module to browserify.

Wait, isn't it already supported in the browser?

The public methods of the timers module are:

  • setTimeout(callback, delay, [arg], [...])
  • clearTimeout(timeoutId)
  • setInterval(callback, delay, [arg], [...])
  • clearInterval(intervalId)

and indeed, browsers support these already.

So, why does this exist?

The timers module also includes some private methods used in other built-in Node.js modules:

  • enroll(item, delay)
  • unenroll(item)
  • active(item)

These are used to efficiently support a large quantity of timers with the same timeouts by creating only a few timers under the covers.

Node.js also offers the immediate APIs, which aren't yet available cross-browser, so we polyfill those:

  • setImmediate(callback, [arg], [...])
  • clearImmediate(immediateId)

I need lots of timers and want to use linked list timers as Node.js does.

Linked lists are efficient when you have thousands (millions?) of timers with the same delay. Take a look at timers-browserify-full in this case.

License

MIT