AbortSignal é uma Web API que permite cancelar operações assíncronas em execução.
Muito útil para cancelamento de downloads, melhores controles para processos de persitência de dados entre outros casos.
Uma curiosidade é que a Fetch API possui uma API built-in para justamente permitir uma integração de maneira nativa para cancelamento de requições HTTP.
const controller = new AbortController()
const signal = controller.signal
const cancelButton = document.querySelector(
'.cancelButton'
)
cancelButton.addEventListener('click', function() {
controller.abort()
})
fetch(url, { signal }).then(function(response) {
...
})
Legal, né?