Skip to main content

makeCancelable

Wraps a native Promise and allows it to be cancelled.

API

function makeCancelable<GenericPromiseValue = unknown>(promise: Promise<GenericPromiseValue>): MakeCancelablePromise<GenericPromiseValue>;

Usage

import { wait } from "@jtmdias/js-utilities";

// Create a Promise that resolves after 1 second
const somePromise = wait(1000);

// Make it cancelable
const cancelable = makeCancelable(somePromise);

// Execute the wrapped promise
cancelable.promise
.then(console.log)
.catch(error => {
if (error.name === 'AbortError') {
console.log('Promise was cancelled');
} else {
console.error('Other error:', error);
}
});

// Cancel it when needed
cancelable.cancel();