router.route('/tasks/:id').delete((req, res) => {
Task.findByIdAndRemove(req.params.id)
.then(() => {
// REST Response for deleting content
res.status(204);
res.send('');
})
.catch(err => {
res.status(404);
res.send(err);
});
});
在这个例子中,我无法获得404,我不知道为什么。
答案 0 :(得分:0)
您必须在当时的回调中检查您收到的文件,如下所示:
router.route('/tasks/:id').delete((req, res) => {
Task.findByIdAndRemove(req.params.id)
.then((task) => {
if (!task) {
res.status(404);
res.send('');
} else {
res.status(204);
res.send('');
}
})
.catch(err => {
res.status(404);
res.send(err);
});
});
通常在找不到文档时发送404是正确的,在删除功能中也是如此。有关详情,请参阅this问题。