Прочитайте код медленно и следуйте потоку информации и формату информации по мере необходимости по мере ее изменения
Обзор
Axios — это популярная библиотека JavaScript, используемая для выполнения HTTP-запросов как из браузера, так и из Node.js. Это проект с открытым исходным кодом, предназначенный для упрощения процесса отправки асинхронных HTTP-запросов к конечным точкам REST и выполнения операций CRUD (создание, чтение, обновление, удаление).
Создатель
Axios был создан Мэттом Забриски. Проект поддерживается сообществом и доступен на GitHub.
Бенефициары
Axios полезен для:
-
Внешние разработчики: для выполнения HTTP-запросов из веб-приложений.
-
Вернальные разработчики: для интеграции HTTP-запросов в приложения Node.js.
-
Разработчики полного стека: для обработки HTTP-запросов как на стороне клиента, так и на стороне сервера.
Преимущества
-
На основе обещаний: упрощает работу с асинхронными запросами и ответами.
-
Перехватчики: позволяет изменять запросы или ответы до их обработки.
-
Автоматическое преобразование данных JSON: упрощает обработку данных JSON.
-
Защита CSRF: помогает защититься от подделки межсайтовых запросов.
-
Преобразование запросов и ответов: пользовательское преобразование запросов и ответов.
-
Обработка ошибок: упрощенная обработка ошибок по сравнению с другими методами.
-
Широкая поддержка браузеров: работает во всех современных браузерах и Node.js.
Применение
Где он используется
-
Веб-приложения: для связи с серверными службами.
-
Приложения Node.js: для отправки HTTP-запросов к другим API или службам.
-
Мобильные приложения: как часть таких фреймворков, как React Native.
Где это терпит неудачу
-
Тяжелые приложения: возможно, не лучший вариант для передачи очень больших данных из-за потребления памяти.
-
Ограничения браузера: подпадают под ограничения политики одного и того же происхождения, если CORS не обрабатывается должным образом.
-
Размер зависимости: дополнительная зависимость, которой нужно управлять, что может стать проблемой для минималистичных проектов.
Почему это используется
-
Простота использования: простой API для выполнения HTTP-запросов.
-
Гибкость: легко настраивается и расширяется.
-
Поддержка сообщества: широкое распространение и обширная поддержка сообщества.
Почему это не будет использоваться
-
Размер библиотеки: затраты на добавление еще одной зависимости.
-
Альтернативы: предпочтение Fetch API или других библиотек, таких как запрос или суперагент.
Как это используется
Монтаж
npm install axios
Основное использование
const axios = require('axios');
// Performing a GET request
axios.get('https://api.example.com/data')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error('Error fetching data:', error);
});
Подробное использование с комментариями
const axios = require('axios');
// Create an instance of axios with default settings
const instance = axios.create({
baseURL: 'https://api.example.com',
timeout: 1000,
headers: { 'X-Custom-Header': 'foobar' }
});
// Interceptor to log request details
instance.interceptors.request.use(request => {
console.log('Starting Request', request);
return request;
});
// Interceptor to log response details
instance.interceptors.response.use(response => {
console.log('Response:', response);
return response;
});
// Making a POST request
instance.post('/user', {
firstName: 'Fred',
lastName: 'Flintstone'
})
.then(response => {
console.log('User created:', response.data);
})
.catch(error => {
console.error('Error creating user:', error);
});
Примеры неправильного использования
-
Игнорирование обработки ошибок: Неправильная обработка ошибок может привести к сбоям в работе приложения.
axios.get('https://api.example.com/data')
.then(response => {
console.log(response.data);
});
// Error handling should not be omitted
-
Блокирующий код с синхронными запросами: Axios не поддерживает синхронные запросы, поэтому использование его таким образом, что ожидание синхронного поведения является неверным.
Методы
Методы экземпляра
- аксиос(конфигурация)
- axios(url[, config])
Методы запроса
- axios.request(конфигурация)
- axios.get(url[, config])
- axios.delete(url[, config])
- axios.head(url[, config])
- axios.options(url[, config])
- axios.post(url[, data[, config]])
- axios.put(url[, data[, config]])
- axios.patch(url[, data[, config]])
Удобные методы
- axios.all(итерируемый)
- axios.spread(обратный вызов)
Создание экземпляров
Перехватчики
- axios.interceptors.request.use(onFulfilled[, onRejected[, options]])
- axios.interceptors.response.use(onFulfilled[, onRejected[, options]])
Конфигурация по умолчанию
Отмена
- аксиос.Отмена
- axios.CancelToken
- axios.isCancel
Заключение
Axios — это надежная и простая в использовании библиотека для выполнения HTTP-запросов в приложениях JavaScript. Он предоставляет мощный API с такими функциями, как перехват запросов и ответов, автоматическое преобразование JSON и архитектура на основе обещаний. Однако важно понимать его ограничения и использовать его соответствующим образом, чтобы избежать потенциальных ошибок.