From Dev.to
Cancelling timers with AbortController: seven cases including cleanup
AbortController is not limited to fetch. Calling abort() does not stop an arbitrary Promise, though. The operation must accept the signal and implement both stopping its wait and rejecting its Promise...