我有一個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