node package manager
Painless code sharing. npm Orgs help your team discover, share, and reuse code. Create a free org »

nanotask

nanotask stability

npm version build status downloads js-standard-style

Microtask queue scheduler for the browser. Falls back to window.requestAnimationFrame in environments that don't allow MutationObserver based scheduling.

The microtask queue is a set of tasks that runs at the start of the next frame in the browser. This is analogous to process.setImmediate() in Node. There's no direct API for the microtask queue in the browser, but using document.MutationObserver we can trick the browser into running functions as part of the microtask queue. This is useful to create tight, 60fps loops in the main browser thread.

Usage

var nanotask = require('nanotask')
var queue = nanotask()
 
queue(function () {
  console.log('resolved at the start of the next frame')
})

API

queue = nanotask()

Create a new Nanotask instance.

queue(fn)

Queue a function on the browser's microtask queue.

Installation

$ npm i nanotask

License

MIT