Как остановить HTTP-запрос, запущенный с помощью Fetch в JavaScript
			Доброго времени суток! Сегодня мы рассмотрим с Вами как можно остановить HTTP-запрос в JavaScript. В примере мы будем использовать JavaScript Fetch API.
Код html-страницы
<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JavaScript Fetch</title>
</head>
<body>
  <button id="down_button">Загрузить</button>
  <button id="stop_button">Остановить</button>
  <script src = "script.js"></script>
</body>
</html>
Скрипт script.js
document.addEventListener("DOMContentLoaded", function() {
    // создаем объект класса AbortController, который отвечает за остановку запроса
    const controller = new AbortController();
    // получаем свойство signal из объекта контроллера
    const signal = controller.signal;
    // ссылки на кнопки
    const down_button = document.getElementById("down_button");
    const stop_button = document.getElementById("stop_button");
    // при щелчке по кнопке загрузки
    down_button.addEventListener("click", () => {
    // делаем запрос на сервер, в качестве второго аргумента передаем объект со свойством signal
    fetch('https://myrusakov.ru/posts', { signal: signal })
        .then(response => response.json())
        .then(json => alert(json));
    });
    // при щелчке на кнопку остановить - посылаем сообщение о необходимости остановки
    stop_button.addEventListener("click", () => {
        controller.abort();
    });
});
Вот таким образом можно остановить HTTP-запрос, отправленный на сервер, в браузере пользователя.
- 
					Создано 18.07.2023 08:35:56
					 - 
					
					Михаил Русаков				 
			
		
			
				
				
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.