@pirxpilot/nanoscheduler
v1.0.0
Published
Schedule work to be completed when the browser is idle.
Downloads
4
Maintainers
Readme
@pirxpilot/nanoscheduler
Fork of nanoscheduler. Schedule work to be completed when the user agent is idle. Weighs 270 bytes compressed.
Usage
var NanoScheduler = require('@pirxpilot/nanoscheduler')
var scheduler = NanoScheduler()
var i = 10000
while (i--) scheduler.push(() => console.log(`idle time! ${Date.now()}`))
Why?
Just like with window.requestAnimationFrame
, it's much more efficient to
share a single instance than to call it for each piece of work. There's a
significant overhead when scheduling small amounts of work. This package allows
sharing a scheduler as a singleton, which makes it particularly useful to be
shared between multiple applications.
API
scheduler = NanoScheduler()
Create a new scheduler instance. The instance is shared as a singleton on
window
(if available).
scheduler.push(cb)
Push a callback into the scheduler, to be executed when the user agent is idle.
Installation
$ npm install @pirxpilot/nanoscheduler