我正在尝试在我的 NodeJS rest api 中创建一个注册路由,但是每当我尝试将数据发送到数据库时,它都会向我显示一些错误,例如SyntaxError: await is only valid in async function
. 我知道错误的含义是什么,但不知道为什么会出现此错误。这是我的注册路由代码:
router.post("/register", async (req, res) => {
const firstName = req.body.firstName;
const lastName = req.body.lastName;
const email = req.body.email;
const phone = req.body.phone;
const gender = req.body.gender;
const country = req.body.country;
const password = req.body.passwordHash;
bcrypt.hash(password, 10, (err, hash) => {
if (err) {
console.log("error: " + err);
} else {
const newUser = new User({
firstName,
lastName,
email,
phone,
gender,
country,
passwordHash: hash,
});
try {
const savedUser = await newUser.save()
res.send(savedUser)
} catch (err) {
res.status(400).send(err)
}
}
});
});
有人可以帮助我吗?
await
是在(err, hash) =>
函数内部。所以你需要async (err, hash) =>
,不是async (req, res) =>
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句