Вы можете сохранить все свои обещания получения в массиве, а затем использовать Promise.allSettled, чтобы дождаться, пока они завершат свою работу sh.
Вот краткий пример:
const responses = [];
for (let i = 0; i < 4; i++) {
responses.push(
fetch("https://jsonplaceholder.typicode.com/posts/1").then(response =>
response.json()
)
);
}
Promise.allSettled(responses).then(console.log);
Это будет регистрировать массив объектов с этой формой:
{
status: 'string',
value: Object
}
Являясь атрибутом 'value', содержащим информацию, полученную из выборки.
В вашем случае вы просто нужно проверить длину вашего массива.
Вы можете проверить пример на песочнице .