изменения имени пользователя экспресс-сеанса с последним присоединением сеанса - PullRequest
0 голосов
/ 06 декабря 2018

Мне нужна помощь здесь.Мне нужно установить имя пользователя и не менять его.Но проблема в том, что каждый раз, когда я присоединяюсь к новому пользователю, его имя пользователя добавляется в сеанс, а затем все пользователи печатают как последний присоединившийся пользователь.Как решить эту проблему ?Это код:

let users = [];
let username;

app.post('/join-server', async(req, res) => {
    username = await req.body.username;
    users.push(username);
    req.session.username = username;
    res.redirect('/chatroom');
});

socket.on('message-sent', (data) => {
   io.emit('message-broadcast', ({
            message: data.message,
            username: username
        }));
    });

1 Ответ

0 голосов
/ 06 декабря 2018

Ваша переменная username объявлена ​​в глобальной области видимости.Вместо этого объявите это в теле вашего обработчика /join-server:

app.post('/join-server', async(req, res) => {
    const username = await req.body.username;
    users.push(username);
    req.session.username = username;
    res.redirect('/chatroom');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...