Вы делаете сетевые запросы с помощью firebase, поэтому, может быть, поэтому он медленный.Вы делаете один запрос на пользователя, поэтому, если у вас там 100 идентификаторов, это также может занять некоторое время.
Но я заметил еще одну проблему: вы просто решаете пустой список.Чтобы дождаться нескольких обещаний, создайте массив обещаний, а затем используйте Promise.all
, чтобы создать обещание, которое ожидает всех из них параллельно.
Когда вы вызываете функцию решать, вы уже выполнили forEach, иВы выполнили все обещания, но они еще не добавлены в список.Чтобы сделать его лучше, наберите map
и соберите все возвращенные обещания, а затем верните Promise.all
.