@fseehawer/requestidlecallback
v1.0.7
Published
This requestIdleCallback polyfill doesn't use the window object to detect if the feature is supported in the browser and falls back to a simple timeout if the feature isn't supported.
Downloads
19
Maintainers
Readme
requestIdleCallback polyfill
This requestIdleCallback polyfill doesn't use the window object to detect if the feature is supported in the browser and falls back to a simple timeout if the feature isn't supported.
install
npm install @fseehawer/requestidlecallback
example
import requestIdleCallback from '@fseehawer/requestidlecallback'
requestIdleCallback(() => {
// your non-splittable task
})
for splittable task you can use the yielding technique:
requestIdleCallback((deadline) => {
while ((deadline.timeRemaining() > 0) || deadline.didTimeout) {
// your splittable tasks
}
})
Or node-style:
var requestIdleCallback = require('@fseehawer/requestidlecallback')
// same as above
for cancelling?
import requestIdleCallback, { cancelIdleCallback } from '@fseehawer/requestidlecallback'
// your code
const id = requestIdleCallback(doSomething)
// then if you need to cancel
cancelIdleCallback(id)
Or node-style:
var requestIdleCallback = require('@fseehawer/requestidlecallback')
var cancel = requestIdleCallback.cancelIdleCallback
// your code
var id = requestIdleCallback(doSomething)
// then if you need to cancel
cancel(id)