1.1.0 • Published 5 years ago

@h-reser/deferred v1.1.0

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

@h-reser/deferred

Build Status npm version dependencies Status devDependencies Status

A lightweight deferred implementation with Typescript support, inspired by jQuery and based on Javascript's Promise.

Installation

npm i @h-reser/deferred

Usage

import Deferred from "@h-reser/deferred";

// Create deferred object
const d = new Deferred();

// Implement logic
function playLottery() {
  setTimeout(() => {
    const random = Math.floor(Math.random() * Math.floor(2));
    if (random === 1)
      d.resolve("You have won!");
    else d.reject("You have lost...");
  }, 500);
};

// Handle Defered fulfillments and rejections
d
  .then((res) => {
    console.log(res + " :)");
  })
  .catch((e) => {
    console.error(e + " :(");
  })
  .finally(() => {
    console.log("Thanks for playing!");
  });

// Execute logic
playLottery();

When to use

Can be used in any environment which supports ES6's promises