В моем проекте я пытаюсь создать чат. В чате мне нужно отправлять различные данные о других разделах моего приложения. Я использую для этого веб -розетки. И если у меня есть 1000 клиентов, это может создать задержку, поэтому сообщения или другие данные могут быть задержкой. Чтобы предотвратить это, я действительно могу создать объект карты и установить имя комнаты, на это ключевое имя (имя комнаты) Я могу использовать SET объект как значение, имеющее экземпляр самого клиентского объекта веб -сокета. Так что благодаря этому объекту глобальной переменной карты я сохранил производительность итерации через всех клиентов, чтобы просто отправить клиентам в одной комнате.ws.communityName = communityName;
// Send to all clients in the same community
webSocket.clients.forEach((client) => {
if(client.communityName === communityName) {
client.send(stringifiedActiveUsers);
// Send only to owner of the community within user's community
if(client.userid === communityOwnerId) {
client.send(suspendedUsersData);
}
}
});
< /code>
Это моя логика о том, как отправлять данные всем клиентам в одной комнате. Но я использую глобальную переменную, которую я не должен, потому что она может создавать проблемы с утечкой памяти и т. Д. Должен ли я использовать глобальную переменную для сохранения производительности?
Подробнее здесь: https://stackoverflow.com/questions/797 ... t-all-cost