All Projects → staltz → quicktask

staltz / quicktask

Licence: MIT License
Tiny microtask queue scheduler for all environments

Programming Languages

typescript
32286 projects

Quicktask

Tiny microtask queue scheduler for all environments

npm install --save quicktask

Inspired by yoshuawuyts/nanotask, this function manages a queue of microtasks, but focuses on being cross environment (not just browser) and with a tiny implementation. It returns a "scheduleMicrotask" helper.

  • Uses queueMicrotask if available
  • Otherwise uses setImmediate if available.
  • Otherwise uses process.nextTick in Node.js.
  • Otherwise uses setTimeout otherwise.

Unless you need to support old runtimes or Internet Explorer, we recommend using queueMicrotask directly. That said, this library is less than 1kB in size.

Usage

In JavaScript / Node.js:

const quicktask = require('quicktask').default;
const schedule = quicktask();

schedule(function () {
  console.log('resolved at the start of the next frame');
});

In TypeScript:

import quicktask from 'quicktask';
const schedule = quicktask();

schedule(() => {
  console.log('resolved at the start of the next frame');
});

API

const schedule = quicktask()

Create a new Quicktask instance.

schedule(fn)

Queue a function to run before the end of the current event loop.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].