artalog
Короткое годное введение в полезность AbortController, рекомендую: https://kettanaito.com/blog/dont-sleep-on-abort-controller Со своей стороны добавлю, абортить надо не просто со строкой с описанием причины, а хорошо бы с полноценной ошибкой (Error) для наличия колстака и упрощения дебага. Проблема в том что AbortController стандартизировали, AbortSignal стандартизировали и затащили оба и во все браузеры и в серверные среды исполнения. Но AbortError не стандартизировали, потому что нет такого. Исторически сложилось, что ошибки отмены браузер выбрасывает как new DOMException(message, "AbortError"). И при стандартизации менять это на новый AbortError не хотели из-за обратной совместимости. И серверные среды не хотели к себе тащить DOMException по понятной причине (хотя в ноде DOMException доступен, лол, но это костыли). С DOMException еще проблема в том что он вторым аргументом принимает свойство "name", тогда как недавний апдейт спеки подарил нам error cause и теперь все этоо наследние не совместимо. Я в реатоме использую такой хелпер, и всегда аборт вызываю так: controller.abort(toAbortError('unmount')) (кстати, можете импортировать себе, все тришейкается)