Frontend Matrix: post #2005 — TG.ME

🛠 JS / API: AbortController — отмена запросов при размонтировании компонента

Если пользователь переключает табы или быстро вводит текст в инпут, старые фетч-запросы продолжают лететь по сети и могут затереть актуальные данные

let currentController = null;

async function searchData(query) {
// Отменяем предыдущий запрос, если он еще выполняется
if (currentController) {
currentController.abort();
}

currentController = new AbortController();

try {
const res = await fetch(`/api/search?q=${query}`, {
signal: currentController.signal // Передаем сигнал отмены
});
const data = await res.json();
renderResults(data);
} catch (err) {
if (err.name === 'AbortError') {
console.log('Запрос отменен, все в порядке');
}
}
}
July 27, 2026 230 5