【发布时间】:2020-06-09 22:09:02
【问题描述】:
我在下面有这段代码,它给了我一个错误,说我有未处理的承诺拒绝。我是 node.js 的新手并且表达,我不知道我做错了什么。
const User = require('../model/user');
const linkValidation = async (req, res, next) => {
var refer = req.params.refer;
if (refer) {
await User.findById(refer)
.then(user, async function() {
if (user) {
user.saldo = user.saldo + 10
user.invites.push({
nome: nome,
valor_recebido: 10
});
await user.save().catch(err =>{
return res.status(500).json(err)
})
}else{
return res.status(404).json({message: "Usuário que criou esse link não existe"})
}
}).catch(err =>{
return res.status(500).json(err)
})
}else{
return res.status(404).json({message: "Usuário que criou esse link não existe"})
}
next()
}
module.exports = linkValidation
我使用的路由器是:
router.post('/cadastro/:refer', UserMiddleware, LinkMiddleware, UserController.create);
谁能帮帮我?
【问题讨论】:
-
await语法不应该像我猜的那样。如果then函数实际使用此代码?
标签: javascript node.js express middleware