获取 Sequelize.js 模型的 ValidationFailed 时出现此错误:
未处理的拒绝 SequelizeValidationError:验证错误:登录名不是有效的电子邮件
但是只有在使用 ES7async
函数时才会出现这种未处理的拒绝,请参见以下代码:
export async function create (req, res) {
try {
res.json({ admin : await Admin.create(req.body) });
} catch (err) {
const message = {
Login : err.errors.map(error => error.message),
};
res.status(400).json({ error : 'ValidationFailed', message : message });
}
}
但是,当我使用 ES5 承诺格式时,它不会抛出异常。
export function create (req, res) {
Admin.create(req.body)
.then(admin => {
res.json({ admin : admin });
}, err => {
const message = {
Login : err.errors.map(error => error.message),
};
res.status(400).json({ error : 'ValidationFailed', message : message });
});
}
有任何想法吗?