cancel
A JavaScript library that provides primitives for creating cancelable asynchronous operations.
Installation
Install using npm:
npm install cancel
Example
; // This is an example of a simple HTTP client that supports cancellation.// The `sendRequest` method sends an HTTP request asynchronously.// It takes a `Cancellation` object as one of its parameters. { // Check if cancellation has already been requested if cancellation // Reject with `CancellationError` so that the caller can distinguish between cancellation and failure return Promise; ; return { const request = ; request; request ; request ; // Add a listener that will be called when cancellation is requested cancellation; request; };} // Create a new `Cancellation` objectconst cancellation = ; // Pass the `Cancellation` object to the `sendRequest` method ; // ...// Cancel the requestcancellation;
API
Cancellation
new Cancellation()
Creates a new Cancellation
object.
Instance methods
cancel()
Issues a cancellation request.
It is safe to call this method multiple times since all but the first call are ignored.
isCanceled()
Returns true
if cancellation has been requested; otherwise, returns false
.
onCancel(listener)
Adds a listener to be notified when cancellation is requested.
Parameters
listener
- A function to be called when cancellation is requested.
Returns a function that, when called, removes the listener.
throwIfCanceled()
Throws a CancellationError
if cancellation has been requested.
fork()
Creates a child Cancellation
object that will be canceled when the parent object is canceled.
Static properties
CANCELED
Contains a Cancellation
object that is already in the canceled state.
CancellationError
The error that is thrown when an operation is canceled.
new CancellationError([message])
Creates a new instance of CancellationError
.
Parameters
message
- The error message.
Semver
Prior to the release 1.0, minor versions may introduce breaking changes.