Я использую API Spotify в Ionic, используя стороннюю библиотеку (я не делаю HTTP-запросы напрямую из своего кода), и я пытаюсь ограничить количество запросов в секунду, которые я отправляю.
Мои ожидания:
- либо я смогу установить задержку для каждого запроса
- или для установки максимально разрешенных запросов в секунду, и когда мне нужно отправить больше максимально разрешенных запросов в секунду (это будет число, заданное мной), этот фрагмент кода (библиотека, мой код и т. Д.) Будет ставить в очередь запросы и отправьте их позже.
Я не эксперт ни в Ionic, ни в Angular.
Я попробовал это:
const apiCalls = [];
//in a for loop
apiCalls.push(fromPromise(this.spotifyApi.getArtistRelatedArtists(sourceArtist.mbid)).delay(this.apiDelay).toPromise());
//then
concat(...apiCalls).subscribe(
Это, похоже, не имеет никакого эффекта, например, я отправил 20 запросов с задержкой apiDelay в 1 секунду, и все они были завершены менее чем за 2 секунды.
Я пытался использовать библиотеки, как этот:
простой скорости Ограничитель
Но они предназначены для использования с 'require', и Ionic жалуется, что:
Не удалось найти файл объявления для модуля
Как я могу отложить запросы к внешнему API в Ionic?