Search⌘ K
AI Features

Canceling Asynchronous Operations

Explore techniques to cancel asynchronous operations in Node.js, essential for managing redundant or user-canceled tasks. Learn how to build cancelable functions and wrap them to reduce boilerplate, enhancing code clarity and control over async workflows.

Being able to stop a long-running operation is particularly useful if the operation has been canceled by the user or if it has become redundant. In multithreaded programming, we can just terminate the thread, but on a single-threaded platform such as Node.js, things can get a little bit more complicated.

Note: In this section, we’ll be talking about canceling asynchronous operations and not about canceling promises, which is a different matter altogether. By the way, the Promises/A+ standard doesn’t include an API for canceling promises. However, we can use a third-party promise library such as bluebird if we need such a feature. Note that canceling a promise doesn’t mean that the operation the promise refers to will also be canceled. In fact, bluebird offers an onCancel callback in the promise ...