我有一个NodeJS Rest API,我有一个用户集合,除此之外,我做用户SMS验证。错误:发送后无法设置标题。 - NodeJS和Express
这是POST /:id/verification
exports.verification = (req, res) => {
const id = req.params.id
return User.find(id)
.then(user => {
if (user.code !== req.body.code) {
res.json({ message: 'Incorrect code' })
res.sendStatus(500)
return
}
user.isVerified = true
user.save(error => {
if (error) {
res.json({ message: 'Failed to update user' })
res.sendStatus(500)
return
}
res.json({ user })
res.sendStatus(200)
})
})
.catch(error => {
res.json({ error })
})
}
控制器但是,事情是,当我发布到/:id/verification
我得到这个错误
Error: Can't set headers after they are sent. - NodeJS and Express
在此行中:
res.json({ user })
res.sendStatus(200)
但我不明白为什么,在此之前我不发送任何回应。
有人可以解释我什么我做错了吗?
感谢您的回答Ravi! – Hiero