A queue that runs tasks when the browser is idle.
$ npm install ique --save
import ique from 'ique'
// create a queue, passing a timeout (default shown)
// more on timeouts here: https://goo.gl/4jLPWz
const queue = ique(1000)
// add tasks to it, which will be run automatically when the browser is idle
for (let i = 0; i < 1000; i++) {
queue.add({
func: x => console.log(x),
args: ['test']
})
}
// constructor and add can be chained
const priorityQueue = ique(100)
.add({
func: x => console.log(x),
args: [0]
})
.add({
func: y => console.log(y),
args: [1]
})
Requires requestIdleCallback
, and as such supports the following:
- Chrome 47+
- Firefox 55+
- Opera 34+
Consider using this shim in unsupported browsers.
MIT. © 2018 Michael Cavalea