@fseehawer/requestidlecallback

1.0.7 • Public • Published

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)

license

MIT License

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i @fseehawer/requestidlecallback

      Weekly Downloads

      7

      Version

      1.0.7

      License

      MIT

      Unpacked Size

      4.99 kB

      Total Files

      5

      Last publish

      Collaborators

      • f.seehawer