Asynchronous cancellation and timeouts with AbortController
Another source of bad performance in applications in general is doing work that’s not necessary. In the context of a JavaScript web application, one of the types of “work” that can be unnecessary (and therefore a drain on performance) is having HTTP requests that aren’t required any more. For example, in a photo gallery system or any paginated system, when moving across photos, the request for the previous photo might not have completed before the next one is started. In this case, the previous request data is not necessary any more, as we’re essentially on a completely different page.
In these instances, cancelling the request might be useful.
AbortController
is a Web/DOM API that allows us to abort web requests. It’s created using its constructor, new AbortController
, and controlling a request (to potentially cancel it) is done with the AbortController().signal
value, which...