Сокращение вызовов API из приложения AngularJS

0

Я создаю простое веб-приложение, которое запрашивает API-интерфейс службы. Существует ограничение API-вызовов, то есть, если я слишком много звоню, он перестает работать. Как я могу уменьшить свои вызовы api, но все же отображать данные между этими вызовами на живой обновляющейся странице?

EDIT: Чтобы уточнить, "перестает работать", я имею в виду, что есть максимальное количество запросов, которые мне разрешено делать в таймфрейме. Я хочу кэшировать данные, звонить один раз в минуту и обновляться в реальном времени.

  • 0
    Что вы подразумеваете под "он перестает работать" при обращении к API?
  • 0
    Это означает, что существует максимальная квота на таймфрейм. Я прошу прощения за то, что не ясно.
Показать ещё 4 комментария

1 ответ

0

Храните возвращенные данные в переменной, проверьте, заполнена ли эта переменная, и если она не вызывает вызов API. Если он не заполнен, выполните вызов API. Если вы собираетесь обновлять каждую минуту каждую минуту, тогда нет никакого способа обойти это, хотя... если вы вызываете ее каждую минуту, нет возможности уменьшить количество звонков до менее 60 в час.

Если в настоящее время ваша проблема связана с тестированием/разработкой, вы можете захватить возвращенные данные и настроить проект SoapUI с захваченными запросами и отправить их в приложение оттуда, чтобы вы не пережевали весь свой предел запроса.

Если вы вызываете конечную точку через AJAX, ваше обновление будет асинхронным, и данные страниц не изменятся, пока ваши связанные данные не изменятся в объекте модели Angular, я предполагаю, что вы связались с вашим пользовательским интерфейсом.

Я бы предложил разместить некоторые из вашего кода, чтобы более конкретный ответ был опубликован.

  • 0
    Я, кажется, не передаю правильную точку зрения. Я постараюсь объяснить еще раз. Мне нужен бэкэнд-сервис для хранения данных (локальный). Такой как Узел. Я надеялся найти ресурс, который мог бы показать мне, как это сделать. Поэтому, если сайт посещают 100 человек, каждые 60 секунд выполняется только один запрос. И через 60 секунд обновите.
  • 0
    Теперь я понимаю, что вы говорите. Вы можете создать его в Node, хотя на самом деле я написал сервис / бэкэнд, очень похожий на этот, в Java / Spring Framework. Какая инфраструктура у вас есть и какие языки вам наиболее удобны. По сути, вы захотите настроить конечную точку REST, которую будет вызывать ваша служба, в свою очередь, эта конечная точка будет запускать процесс и обновлять свою модель каждую минуту. Ваше приложение будет вызывать ВАШ серверный бэкэнд, и у вас будет сервис внутри этого бэкэнда, который будет иметь модель, основанную на информации, получаемой из ваших вызовов API каждую минуту
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню