New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

pcancel

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pcancel

Wrap promise function into cancelable promise function

  • 0.2.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
5
decreased by-16.67%
Maintainers
1
Weekly downloads
 
Created
Source

pcancel

Code Style Prev NPM Version Build Status Dependency Status

Wrap promise function into cancelable promise function

Sometimes you may need to create cancelable promise for situation like to avoid isMounted antipattern in React. pcancel provides simple utility for creating cancelable promises. Highly inspired from this comment.

Install

$ npm install --save pcancel

Usage

import pcancel from 'pcancel';

const delayC = pcancel(delay);
const p = delayC(4000)
  .promise
  .then(() => console.log('Yey!'))
  .catch((err) => console.error(err));

p.cancel(); // Error: Promise has canceled

function delay(time) {
  return new Promise((resolve) => setTimeout(() => resolve(), time));
}

API

pcancel(fn[, options])

  • fn Function - Promise-returning function that will be cancelable.
  • options Object (optional)
    • noReject Boolean - Whether to reject when canceling. If this option is true, the promise will be resolved with the value passed through to cancel() method on the promise.

Returns a wrapped function that returns object includes Promise instance and cancel() function.

You can also specify error or value through cancel() method, the specified value will be returned instead of value of the promise:

p.cancel(new Error('Foo')); // Error: Foo

Note: cancel() rejects the promise immediately when it called.

License

MIT

Keywords

FAQs

Package last updated on 28 May 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc