aboutsummaryrefslogtreecommitdiff
path: root/node_modules/timers-browserify/README.md
diff options
context:
space:
mode:
authorruki <waruqi@gmail.com>2018-11-08 00:38:48 +0800
committerruki <waruqi@gmail.com>2018-11-07 21:53:09 +0800
commit26105034da4fcce7ac883c899d781f016559310d (patch)
treec459a5dc4e3aa0972d9919033ece511ce76dd129 /node_modules/timers-browserify/README.md
parent2c77f00f1a7ecb6c8192f9c16d3b2001b254a107 (diff)
downloadxmake-docs-26105034da4fcce7ac883c899d781f016559310d.tar.gz
xmake-docs-26105034da4fcce7ac883c899d781f016559310d.zip
switch to vuepress
Diffstat (limited to 'node_modules/timers-browserify/README.md')
-rw-r--r--node_modules/timers-browserify/README.md40
1 files changed, 40 insertions, 0 deletions
diff --git a/node_modules/timers-browserify/README.md b/node_modules/timers-browserify/README.md
new file mode 100644
index 00000000..c7efa192
--- /dev/null
+++ b/node_modules/timers-browserify/README.md
@@ -0,0 +1,40 @@
+# 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](https://www.npmjs.com/package/timers-browserify-full) in this case.
+
+# License
+
+[MIT](http://jryans.mit-license.org/)