Skip to content

pirxpilot/nanoscheduler

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NPM version Build Status Dependency Status

@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

License

Apache-2.0

About

Schedule work to be completed when the user agent is idle.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%