tinylibs


Issues Stars License Codecov FOSSA Status Join the chat at https://gitter.im/tinylibs-js-org/community Speed Blazing

Latest Version Downloads JsDelivr Bundlephobia Packagephobia


  

🏃
Fast Defer


Fast Defer is a fast and minimal deferred implementation for javascript.


Table of Contents


Installing

Node

npm install fast-defer # or yarn add fast-defer
const { deferred } = require('fast-defer');
import { deferred } from 'fast-defer';

Browser

<script
  crossorigin
  src="https://cdn.jsdelivr.net/npm/fast-defer@latest/dist/index.umd.js"
></script>
const { deferred } = window.fastDefer;

Url Import

import { deferred } from 'https://cdn.skypack.dev/fast-defer@latest';


Getting Started

A deferred is nothing more than a promise with .resolve() and a .reject() method. You can use it to create a promise that will be resolved or rejected at some point in the future and, probably, in another scope.

import { deferred, isDeferred } from 'fast-defer';

const waitingSomething = deferred();

waitingSomething.then((val) => {
  console.log('Resolved');
});

waitingSomething.catch((error) => {
  console.log('Rejected');
});

// Other file, function or etc
someCallback((response, error) => {
  if (error) {
    waitingSomething.reject(error);
  } else {
    waitingSomething.resolve(response);
  }
});


Browser Compatibility

  Chrome Edge Firefox Internet Explorer Opera Safari Node.js Deno WebView Android Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet
Promise() constructor 32 12 29* X 19 8 0.12 1.0 4.4.3 32 29* 19 8* 2.0
Symbol() constructor 38 12 36 X 25 9 0.12 1.0 38 38 36 25 9 3.0


License

Licensed under the MIT. See LICENSE for more informations.

FOSSA Status