JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 150580
  • Score
    100M100P100Q167829F
  • License MIT

A fast and minimal deferred implementation for javascript

Package Exports

  • fast-defer
  • fast-defer/dist/index.js
  • fast-defer/dist/index.mjs

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (fast-defer) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme


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