【发布时间】:2018-09-25 16:55:19
【问题描述】:
我有以下代码:
const schema = Joi.object().keys({
zip: Joi.number().min(1).max(9999999).required().label("Just an example error code, avoid the zip code validation method (0-9999999)."),
});
Joi.validate({ zip: req.body.zip }, schema, function (err, value) {
if (!(err === null)){
res.status(400).send(err['details']['0']['context']['label']);
}
});
即使我成功调用了错误消息,并在 HTTP 标头中将其发送回给我(错误 400),执行也不会停止并且会继续运行。 我认为发生这种情况是因为它已经跳到执行的其他部分,甚至没有到达它返回标头错误消息的部分。
我该如何避免呢?我避免它的唯一方法是使用带有回调/承诺/异步、等待的 Joi 依赖项吗?
如果不是,我怎样才能以最好的方式使用 Promises 实现 Joi 依赖?
谢谢。
【问题讨论】:
标签: node.js error-handling header send joi