Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
__tests__
.gitignore
README.md
index.js
package.json

README.md

make-abortable

Make promises abortable! That's it! :)

Install

# if using npm
npm i make-abortable
# if using yarn
yarn add make-abortable

Usage

const abortable = require('make-abortable');
const controller = new AbortController();
const signal = controller.signal;

const promise = new Promise(resolve => {
  setTimeout(() => {
    resolve();
  }, 1000);
});

// abortable(promise, controller) works as well
const abortablePromise = abortable(promise, { signal });

// abort the promise
controller.abort();

abortablePromise
  .then(() => {
    // this will not execute
  })
  .catch((err) => {
    if (err.name === 'AbortError') return;
    // handle real errors here
  });

AbortController

This library utilizes the AbortController api. This api is new so you might need a polyfill. Read about the AbortController api here.

You can’t perform that action at this time.