API социальной сети ВКонтакте разрешает одним запросом получить только 100 постов, что меня не устраивает.
const resource = await resolveResource({
api: vk.api,
resource: context.$match[1],
});
const allPosts = [];
context.reply(`Начинаю сбор информации...`);
const counter = await vk.api.wall.get({
// Получаем кол-во постов.
owner_id: resource.id,
count: 1,
});
for (let i = 0; i < counter.count; i += 100) {
vk.api.wall
.get({
owner_id: resource.id,
count: 100, // Больше 100 получить нельзя.
})
.then((res) => {
allPosts.push(res); // Пушим пачки постов.
});
}
Следующий код пушит пачки постов в массив. Проблема в том, что при большом кол-ве постов эти запросы о-о-о-очень долго выполняются. Когда я пытаюсь вывести этот массив, там пустота. Это и понятно, ведь код синхронный и лог выполняется быстрее, чем получается вернуть данные хотя бы одного поста. Асинхронность - моя Ахиллесова пята, а тут ещё и цикл. Буду рад любой помощи.