How can you cancel an async operation in JavaScript?

JavaScript does not natively support Promise cancellation. However, you can use techniques like AbortController

const controller = new AbortController();
const signal = controller.signal;

async function fetchData() {
try {
const response = await fetch("https://api.example.com", { signal });
const data = await response.json();
console.log(data);
} catch (error) {
if (error.name === "AbortError") {
console.error("Fetch aborted");
} else {
console.error("Error:", error.message);
}
}
}

fetchData();
controller.abort(); // Cancels the fetch