Встречается на собеседованиях • сегодня
Какой опыт работы с AbortController
AbortController позволяет отменять асинхронные операции, такие как fetch-запросы. Создаётся экземпляр контроллера, его сигнал передаётся в запрос, а при необходимости операция прерывается вызовом abort().
Пример:
javascript
const controller = new AbortController();
const signal = controller.signal;
fetch('https://api.example.com/data', { signal })
.then(response => response.json())
.catch(err => {
if (err.name === 'AbortError') {
console.log('Запрос отменён');
}
});
// Отмена запроса через 2 секунды
setTimeout(() => controller.abort(), 2000);
text
Использовал для:
- Отмены запросов при уходе со страницы (в useEffect cleanup)
- Прерывания долгих запросов по таймауту
- Отмены предыдущих запросов при новых (например, поиск с debounce)
Важно обрабатывать AbortError в catch, чтобы избежать неожиданных ошибок.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы