All Projects → choojs → nanotask

choojs / nanotask

Licence: MIT License
Microtask queue scheduler for the browser

Programming Languages

javascript
184084 projects - #8 most used programming language

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 end of the current frame in the browser, before recalculating style and painting. This is analogous to process.nextTick() 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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].