Ответ
Для асинхронных запросов чаще всего использую axios или нативный fetch.
Axios удобнее из-за:
- Автоматического преобразования JSON
- Перехватчиков запросов/ответов
- Отмены запросов
- Поддержки старых браузеров
Пример с axios:
axios.get('/api/data')
.then(response => console.log(response.data))
.catch(error => console.error(error));
Fetch API - современный нативный вариант:
fetch('/api/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
Для сложных приложений иногда использую RTK Query (Redux Toolkit) или React Query для кэширования и управления состоянием.