petushok55
@petushok55
Обучаюсь на практике.

Как организовать очередь выполнения запросов по каналам/комнатам?

Есть вебсокет сервер:
spoiler
ws.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'ом надо обработать первое сообщение, после завершения, второе и тд.
  • Вопрос задан
  • 63 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы