Добавлена реализация, которая контролирует количество запросов «в полете» одновременно.
я есть ограничитель скорости для API, который я использую, который позволяет 20 запросов в секунду. Все запросы основаны на обещании, и обещание будет обработано данными API после получения ответа.
Проблема:
Я установил блок обещаний, который содержит 58 тыс. Обещаний, ожидающих ответа. Так медленно память увеличивается, пока у меня не заканчивается память. В моей конкретной ситуации мне не нужно передавать разрешенные данные моемуthen()
и данные поглощают всю мою оперативную память.
Код:
}).then(() => {
// 2. Crawl for all clanprofiles from these leaderboards
const promiseArray = []
for (let i = 0; i < clanTags.length; i++) {
// Resolved data from getClanProfile() is eating up all my RAM
const p = backgroundScheduler.getClanProfile(clanTags[i], true)
promiseArray.push(p)
}
return Promise.all(promiseArray)
}).then(() => {
Так есть ли способ ждать, пока обещание массива обещания не будет разрешено без необходимости в разрешенных данных?