Эй, ребята, я пытаюсь обработать ошибки во время модуля регистрации пользователя в express, но как-то ошибка не обрабатывается правильно. Вот мой код для этого
handler.post(async (req, res) => {
let otp = Math.floor(1000 + Math.random() * 9000);
const salt = await bcrypt.genSalt(10);
const hashedpassword = await bcrypt.hash(data.password, salt);
data["password"] = hashedpassword;
data["otp"] = otp;
data["active"] = false;
delete data.confirmPassword;
try {
const emailexist = await req.db
.collection("users")
.findOne({ email: data.email });
if (emailexist) {
return res.status(401).send('email already exits')
} else {
let doc = await req.db.collection("users").insertOne(data);
res.json(doc.ops[0]);
} catch (err) {
console.log(err);
res.status(401).send("Error while adding");
}
});
, так что, как вы можете видеть, есть два шанса ошибки один раз, если электронное письмо существует, и затем, если это так, я отправляю сообщение об ошибке
Второй есть вероятность, что если во время вставки возникнет какая-либо ошибка для этого тоже в блоке catch, я отправляю ошибку, но каким-то образом, когда я сталкиваюсь с первой ошибкой, «если электронная почта уже существует», все еще в моем интерфейсе, я получаю ответ «Eror while добавление "