const funObj = (num) => {
// Переменную перезаписать нельзя, но ее свойства - можно.
const result = {}
for (let i = 0; i < num; i++) {
// Вот здесь была ошибка
result[i] = {
test1: 1,
test2: 2
}
}
return result
}
const functionResult = funObj(2)
console.log(functionResult)
Сейчас Вы находитесь на стадии проектирования, по всей видимости.
На данный момент Вам и предстоит заняться самым важным для разработчика - созданием архитектуры. Возьмите листочек(мне сильно помогает) и постарайтесь продумать мелочи и прочитать документацию к существующим инструментам. Больше инфы об инструментах = больше вариантов исполнения приложения. А когда начнут всплывать точечные вопросы, в которых вы не сведуете или необходима помощь в поиске наилучшего решения - велком.
Если я не ошибаюсь, у socket.io есть встроенная фича с рутами(route), она вам может помочь представить real-time в духе REST.
Один рут на обновление общей инфы, другой рут на авторизацию, третий рут отправку сообщений.
Из неплохих вариантов будет просмотреть крупные оупенсоурсы, на гитхабе например.
Насчет загрузки сообщений - старайтесь привести часть программы к одному общему стилю.
Если у Вас real-time приложение, то пусть будет получение через сокеты.