Tiny library (<200B gzip) for deferring something by a "tick"
Switch branches/tags
Nothing to show
Clone or download
Latest commit 9912956 Apr 20, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.flowconfig Init commit Mar 26, 2018
.gitignore Init commit Mar 26, 2018
LICENSE Init commit Mar 26, 2018
README.md Reorder choices based on perf and availability Mar 26, 2018
index.js Update index.js Apr 13, 2018
package.json 1.0.2 Apr 20, 2018
perf.js Reorder choices based on perf and availability Mar 26, 2018
test.js Init commit Mar 26, 2018
yarn.lock Init commit Mar 26, 2018

README.md

tickedoff

Tiny library (<200B gzip) for deferring something by a "tick"

  • Using setTimeout is actually a bit slow because its clamped to 4ms
  • setImmediate is not available in most places (and probably never will be)
  • process.nextTick is only in Node
  • Promise#then needs polyfills in places
  • tickedoff uses whatever the best available option is
  • There are more robust libraries/polyfills but they are larger in size
  • This is all especially good for libraries to use

Install

yarn add tickedoff

Usage

const defer = require('tickedoff');

console.log(1);
defer(() => console.log(3));
console.log(2);
// 1
// 2
// 3

Perf

$ node perf.js
process.nextTick x 10000 = 24ms
Promise#then x 10000 = 29ms
setImmediate x 10000 = 68ms
setTimeout x 10000 = 13506ms