Есть вебсокет сервер:
spoilerws.on('message', (message) => {
try {
const data = JSON.parse(message);
if (!data.action) {
throw new Error('Action not provided in JSON');
}
switch (data.action) {
case 'auth':
handleAuth(data, ws);
break;
case 'sendMessage':
handleChat(data, ws);
break;
default:
console.log(`Unknown action: ${message}`);
break;
}
} catch (error) {
console.log(`Error message: ${error.message}`);
}
});
Все клиенты(юзеры) предварительно находятся в некоторых ранее динамически созданных комнатах.
Пусть будут условные room1, room2,room3 и тд
И я хочу, но не знаю как грамотно реализовать это дело так, чтобы для каждой комнаты функция handleChat выполнялась только поочередно.
Например три юзверя из одной комнаты одновременно отправят три сообщения, и вот здесь то Event Loop'ом надо обработать первое сообщение, после завершения, второе и тд.