如何控制错误,猫鼬

问题描述 投票:0回答:1

这是关于私人比赛,游戏有2名球员,名字和密码,如果你想加入你必须匹配他们。

问题是:当匹配或名称不匹配或游戏已满时,我如何控制,以便我可以向客户端发送不同的消息?如果有人能告诉我另一篇有用的帖子或者某些文档链接可以帮助我,我会很高兴。

谢谢

exports.joinPrivateMatch = (req, res) =>{
let gamePass = req.body.password;
let gameName = req.body.name;
let playerid = req.body.playerid;
let socketPID = req.body.socketid;

creatematch.findOneAndUpdate({player2: null, name: gameName, password: gamePass}, {
    player2: playerid,
    socketID2: socketPID
}, {new:true}, function(err, result){
    if(result){
        res.send(result);
        ioConnection.to(`${result.socketID1}`).emit('addplayer2', result);
        ioConnection.to(`${result.socketID1}`).emit('matchfull', /*{ScreenReady: true} */);
        ioConnection.to(`${result.socketID2}`).emit('matchfull', /*{ScreenReady: false} */);
    }
    if(err){
        return res.send('something went wrong', err)
    }
    else{
        console.log('Contraseña incorrecta o partida llena')
        ioConnection.to(`${socketPID}`).emit('sadsmiley')
    }
})

我写了这样的话:

 if(name != gameName || password != gamePass){
console.log("name or password doesnt match")
ioConnection.to(`${socketPID}`).emit('findError1')
}

但只要我没有得到回复,名称和密码将是未定义的。

javascript mongodb mongoose
1个回答
1
投票

您可以在此目的中使用Express中间件...请参阅qazxsw poi

Using Express Middleware
© www.soinside.com 2019 - 2024. All rights reserved.