我试图使用express中间件处理错误,在这些行中,我有以下错误
user.js控制器
app.post('/create', async (req, res, next) => {
const data = await User.create(req.body)
.catch((err) => next(err));
res.status(201).json({ ok: true, ...data });
});
使用者js模型
UserSchema.statics.create = async function createUser(data) {
delete data.role;
const user = await new this(data).save();
return { token: user.newToken(), user };
};
app.js
app.use((err, req, res, next) => {
res.status(err.code || 400);
res.json({ ok: false, err: err.message });
});
错误
(节点:3304)未经处理的PromisejectionWarning:错误[ERR_HTTP_HEADERS_SENT]:发送到客户端后无法设置头。。。
(节点:3304)UnhandledPromiseRejtionWarning:未处理的promise拒绝。这个错误要么是由于抛出一个没有捕获块的异步函数,要么是由于拒绝了一个没有用. cat()处理的promise。若要在未处理的promise拒绝时终止节点进程,请使用CLI标志--un处理-拒绝=严格
(参见https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。(拒绝id: 9)
节点: 3304)[DEP0018]DeprecationWarning:未处理的promise拒绝被弃用。将来,未处理的promise拒绝将以非零退出代码终止Node.js进程。
之后在用户中使用try/catch进行验证。js controller我没有任何错误,但在express文档中不建议使用try/catch。
app.post('/create', async (req, res, next) => {
try {
const data = await User.create(req.body)
res.status(201).json({ ok: true, ...data });
} catch (err) {
next(err);
}
});
有什么想法吗?
您可以使用wait
或then/catch
:
app.post('/create', async (req, res, next) => {
User.create(req.body)
.then(data => {
res.status(201).json({ ok: true, ...data });
})
.catch((err) => next(err));
});
我正在尝试从何处运行此源代码https://github.com/kishancs2020/TicketBookingServiceJunitTestingGithub在我的Jenkins中查看了在Jenkins文件中创建的管道源代码。 我已经更新了maven,java版本来修复它,但错误仍然是一样的。我也通过了这个链接http://cwiki.apache.org/confluence/disp
我正在写一个新的家长pom.xml 下面是我的孩子pom 下面是我在构建过程中遇到的错误
我创建并尝试使用构建项目,但它不工作。不是这个项目,我试着构建我的所有项目,但在我的ubuntu笔记本电脑上不工作 [信息]扫描项目...从中心下载:https://repo . maven . Apache . org/maven 2/org/spring framework/boot/spring-boot-starter-parent/2 . 6 . 11/spring-boot-start
我对口水很陌生。 我正在开发一个应用程序,其中我的drools引擎每秒钟将获得一系列事件。我需要查看过去10秒内所有事件的属性值是否低于10,如果条件为真,我必须进行一些处理。这里是我尝试的示例代码,请帮助我理解和解决问题。 我的规则文件.... 和主类
我想开始一个新泽西州的项目,但因为pom,我第一步就失败了。xml显示一些错误,无法生成项目。错误: 这是我的pom。xml: 你能帮我解决这个问题吗?我尝试了很多配置,但主题都不起作用。我不知道我的IDE配置(IntelliJ)是否有问题。非常感谢。
我的POM文件 正在运行