Создавайте экземпляры на основе классов для Axios и эффективно используйте их.

Аксиос

Axios — это библиотека на основе JS и Promise, которая помогает выполнять HTTP-запросы с любого сервера с учетом его HTTP-клиента. Его можно установить через npm i axios и использовать в любом приложении JS.

Почти все приложения, которым нужно сделать HTTP, используют какой-то HTTP-клиент, и Axios является одним из основных в гонке. Эта статья будет посвящена очень небольшой, но эффективной теме того, как вы можете работать с различными доменами в своем проекте Axios.

Начать

Давайте создадим небольшое приложение узла и предположим, что оно должно сделать несколько вызовов API для получения данных из разных доменов, и каждый из них имеет набор авторизации, прежде чем вызывать это.

Мы будем вызывать три службы:

  • Заполнитель JSON
  • Публичный API
  • Публичный API НАСА (защищенный)

Подход I — передача его как константы

Подход 1 довольно прост: вы создаете несколько переменных с именем BASE URL и передаете его вместе с ним.

Здесь мы объявляем постоянные переменные для БАЗОВОГО URL-адреса и добавляем к нему нужный URL-адрес. Проблема здесь в том, что мы должны повторять конфигурацию для всех запросов, и она не будет очень универсальной.

Подход II — создание классов для экземпляров

Теперь давайте создадим экземпляр класса классов Axios, где мы можем создать отдельный метод и конфигурацию для каждого класса. Когда я говорю о конфигурации, это означает, что мы можем определить собственный путь Axios и значения по умолчанию на уровне класса.

Примером такого подхода может быть класс для NASA, который будет иметь настраиваемое значение по умолчанию для Axios.

Здесь мы берем API_KEY в качестве параметра конструктора, который создаст экземпляр экземпляра Axios и прикрепит его к переменной класса Axios с параметрами по умолчанию, такими как baseURL, timeout и api_key.

Если вы внимательно посмотрите на метод, мы вызываем не Axios, а экземпляр, который мы создаем из него в переменной класса.

Еще несколько примеров того же подхода.

Placeholder.js

OpenAPI.js

Использование подхода

Чтобы использовать только что созданные классы, мы можем просто создать метод для их выполнения. Так же, как в приведенном ниже примере:

Заключение

Людям нравится их собственная версия, но я бы лично рекомендовал использовать подход на основе классов, который дает вам больше контроля над извлечением и раскрытием методов. Вы можете найти исходный код всего проекта здесь.

Версия машинописного текста

Для машинописных версий классов вы можете посетить файл Gumroad.ts из репозитория, чтобы создать расширенные классы.

Надеюсь, вам понравилась эта статья, и вы узнали из нее что-то хорошее.

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Присоединяйтесь к нашему сообществу Discord.