我需要一些帮助。我需要设置用户名,并且不要更改它。但是问题是每次我与新用户一起加入时,都会将其用户名添加到会话中,然后所有用户都键入最新加入的用户身份。如何解决这个问题呢 ?这是代码:
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
}));
});
答案 0 :(得分:0)
您的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');
});