AbortController: отмена fetch и поиска без гонок состояния
signal в fetch, очистка debounce и UX «Отменить» в формах.
`AbortController` выдаёт `signal`, который передаётся в `fetch()` — при `abort()` запрос прерывается, а промис отклоняется с `AbortError`.
Типичный кейс — автодополнение: каждый новый ввод отменяет предыдущий запрос, чтобы старый ответ не перезаписал актуальный.
- AbortController — MDN — API и примеры.
- Fetch: aborting requests — MDN — signal в RequestInit.
React и SPA
В `useEffect` создавайте controller на маунт и вызывайте `abort()` в cleanup — это снижает утечки при размонтировании.
Не показывайте ошибку пользователю для намеренной отмены — фильтруйте `error.name === "AbortError"`.