【发布时间】:2020-12-15 06:33:03
【问题描述】:
我正在做我自己的项目。他的主要想法是电影评论。
我目前正在处理 HTTP 请求,试图让我的代码更好一些。 我想我的承诺处理有问题:
try {
let newMovie = await MovieRepository.addNewMovie({
name: req.body.name,
year: req.body.year,
description: req.body.description,
length: req.body.length,
genres: req.body.genres,
totalRating: req.body.totalRating
});
return res.status(200).json({ name: newMovie, message: 'Movie added successfully!' });
} catch (error) {
return res.status(400).json({ status: 400, message: errorMessage.addNewMovie });
}
此代码有效!我正在添加一部新电影,并且按预期获得了 OK 状态。
快速解释我的代码:我正在使用MovieRepository,我使用猫鼬功能添加新电影。从正文中获取我需要的所有信息并将其发送给客户端。
现在,我尝试稍微更改一下我的代码:
let newMovie = await MovieRepository.addNewMovie({
name: req.body.name,
year: req.body.year,
description: req.body.description,
length: req.body.length,
genres: req.body.genres,
totalRating: req.body.totalRating
}).then(() => {
return res.status(200).json({
name: newMovie,
message: 'Movie added successfully!'
});
}).catch((error) => {
return res.status(400).json({
status: 400,
message: errorMessage.addNewMovie,
systemError: error
});
});
此代码运行不正常。
在这里,我使用 Promise 功能来使用 then 和 catch。请注意,我实际上并没有更改这些功能中的任何内容。
在这种情况下,电影也成功添加到数据库中,但客户端的状态为 400。
有什么想法吗?
【问题讨论】:
-
你能复制/粘贴你的 addNewMovie 方法吗?
标签: javascript mongoose error-handling promise