0
Hey j'essaie de changer la valeur d'une variable en dehors des fonctions de requête Mongoose dans une fonction express. Voici un exemple de mon code:Comment faire un changement de variable dans les fonctions Mongoose
//Register
router.post('/register', (req, res, next) => {
let newUser = new User({
name: req.body.name,
email: req.body.email,
username: req.body.username,
password: req.body.password
});
var exists;
User.findOne({
email: req.body.email
}, function (err, existingUser) {
if (existingUser) {
console.log('Email exists');
exists = true;
}
});
User.findOne({
username: req.body.username
}, function (err, existingUser) {
if (existingUser) {
console.log('Username exists');
exists = true;
}
});
console.log(exists);
if (exists == true) {
res.json({
success: false,
msg: 'Email or username is already registered'
})
}
});
La variable « existe » est toujours définie même lorsque la condition ExistingUser est vrai. Comment puis-je modifier la variable ou est-ce la meilleure façon de le faire?
Les requêtes mingoose sont asynchrones. – TGrif
@TGrif est là de toute façon que je peux contourner cela pour atteindre mon objectif? – Axelotl
Oui, vous pouvez utiliser une bibliothèque de contrôle de flux comme décrit [ici] (https://stackoverflow.com/a/6181967/5156280). – TGrif