Back to questions
Middle+
4
Как можно отменить HTTP-запрос?
Companies where asked
НСПК
Answer from AI
sobes.tech AI
Отмена HTTP-запроса зависит от используемых API, но в современных браузерах и фронтенд-фреймворках чаще всего применяют следующие подходы:
- AbortController (Fetch API):
Создаётся объект
AbortController, и его сигнал передаётся в опции fetch. Позже можно вызватьabort()для отмены запроса.
const controller = new AbortController();
fetch('https://example.com/data', { signal: controller.signal })
.then(response => response.json())
.catch(err => {
if (err.name === 'AbortError') {
console.log('Запрос отменён');
} else {
console.error('Ошибка:', err);
}
});
// Отмена запроса
controller.abort();
-
XMLHttpRequest: Можно вызвать метод
xhr.abort()для отмены запроса. -
Библиотеки (например, Axios): Предоставляют собственные методы отмены, часто основанные на AbortController или собственных токенах отмены.
Таким образом, для отмены запроса нужно иметь ссылку на контроллер или объект запроса и вызвать соответствующий метод отмены.