TypeScript:
Отправка HTTP-запроса
Как это сделать:
В TypeScript для отправки HTTP-запросов обычно используют Fetch API. Вот простой пример с использованием async/await
для упрощения:
async function fetchData(url: string): Promise<void> {
try {
const response = await fetch(url);
if (!response.ok) {
throw new Error(`Ошибка HTTP! Статус: ${response.status}`);
}
const data = await response.json();
console.log(data);
} catch (error) {
console.error('Ошибка fetch:', error);
}
}
fetchData('https://jsonplaceholder.typicode.com/todos/1');
Пример вывода для успешного запроса:
{
"userId": 1,
"id": 1,
"title": "delectus aut autem",
"completed": false
}
Подробнее
HTTP-запросы имеют первостепенное значение с зарождения веба; они способ общения браузеров и серверов. До появления fetch
использовался XMLHttpRequest (XHR), который выполнял свои функции, но ощущался как бюрократия. fetch
- это современная альтернатива, основанная на промисах, более чистая и являющаяся частью объекта window в большинстве современных браузеров.
Альтернативы fetch
в TypeScript включают в себя библиотеки вроде Axios, которые предоставляют больше возможностей и иногда удобнее в обращении. Axios автоматически трансформирует данные JSON, обрабатывает отмену запроса и предлагает лучшее управление ошибками.
За кулисами TypeScript компилируется в JavaScript. Когда вы отправляете HTTP-запрос с использованием fetch
, вы по сути используете родной Fetch API браузера. Проверка типов в TypeScript повышает стабильность вашего кода, вылавливая ошибки типов на этапе компиляции.
Смотрите также
- MDN Web Docs по Fetch: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
- Репозиторий Axios на GitHub: https://github.com/axios/axios
- Сравнение библиотек для HTTP-запросов: https://www.npmtrends.com/axios-vs-fetch