Проверяет знание встроенных в JavaScript и Node.js механизмов для выполнения HTTP-запросов к API без использования сторонних библиотек.
Современный JavaScript предоставляет несколько встроенных способов обращения к API, которые не требуют установки сторонних библиотек. Выбор зависит от среды выполнения: браузер или серверный Node.js.
Fetch — это промис-ориентированный интерфейс, встроенный во все современные браузеры. Он возвращает объект Response, из которого можно извлечь JSON, текст или бинарные данные.
fetch('https://api.example.com/users')
.then(res => {
if (!res.ok) throw new Error('HTTP ' + res.status);
return res.json();
})
.then(data => console.log(data))
.catch(err => console.error(err));
// POST с телом
fetch('/api/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ user: 'admin' })
});Более старый, но всё ещё поддерживаемый способ. Работает через события и требует больше кода, поэтому в новых проектах используется редко.
const xhr = new XMLHttpRequest();
xhr.open('GET', '/api/items');
xhr.onload = () => {
if (xhr.status === 200) console.log(JSON.parse(xhr.responseText));
};
xhr.send();В Node.js исторически использовался модуль http/https. С версии 18 появился глобальный fetch, работающий так же, как в браузере.
// Node.js 18+
const res = await fetch('https://api.example.com/data');
const json = await res.json();
// Классический модуль https
import https from 'node:https';
https.get('https://api.example.com/data', r => {
let body = '';
r.on('data', c => body += c);
r.on('end', () => console.log(JSON.parse(body)));
});Встроенные средства покрывают большинство задач: GET, POST, заголовки, тело запроса, обработку ошибок. Сторонние библиотеки вроде axios добавляют удобства (интерцепторы, автоматический JSON), но не являются обязательными. Применяйте нативные API, когда нужен минимальный размер бандла и нет сложных требований к обработке запросов.
Уровень
Рейтинг:
5
Сложность:
2
Навыки
JavaScript
Node.js
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию