Всем привет!
В общем, у меня есть массив сообщений конкретного диалога. В этом диалоге может учавствовать более, чем 2 юзера. Дело в том, что в сообщениях предоставлены только айдишники юзеров.
Нужно получить их имена и тп.
Я итерируюсь по этому массиву для того, чтобы выдирать сообщения и уникальные id юзеров.
const messagesHtml = ''
const userIds = []
for (let msg of messages) {
messagesHtml += createMessageTemplate(msg.message)
const { user_id } = msg.message
!userIds.includes(user_id) && userIds.push(user_id)
}
После этого собранные сообщения вставляются в DOM, а имена юзеров я собираю с помощью Promise.all()
Promise.all(userIds.map(id => fetchUser(id)))
.then(response => fillUsersNames(response))
Пока имена забираются с сервера, на их местах торчат плейсхолдеры.
Вопрос - насколько это оптимальное решение вот так собирать юзеров и есть ли тут что улучшить?