gpt4 book ai didi

node.js - Promise.then() 在 SequelizeUniqueConstraintError 上触发

转载 作者:行者123 更新时间:2023-12-03 22:43:21 24 4
gpt4 key购买 nike

我对 promises 和 Sequelize 有点陌生。我正在尝试使用约束将新用户插入到我的 SQLite 数据库中。在 User -model 中,我已将 email -property 标记为 unique ,但是当不满足此约束时,仍会执行 .then() -block 中的代码。

代码:

User.create({
email: uname,
password: psw
})
.then(console.log('success'))
.catch((err) => { console.log(err); });

输出:
Success
Executing (default): INSERT INTO `users` ...
{ SequelizeUniqueConstraintError: Validation Error ... }

当然没有条目被添加到数据库中。

预期输出(插入唯一值时):
Executing (default): INSERT INTO `users` ...
success

预期输出(插入重复值时):
Executing (default): INSERT INTO `users` ...
{ SequelizeUniqueConstraintError: Validation Error ... }

非常欢迎任何帮助,谢谢!

最佳答案

我现在看到你的错误:

User.create({
email: uname,
password: psw
})
.then(console.log('success'))
.catch((err) => { console.log(err); });

您在这里所做的是,不是将 函数传递给 then() ,而是 执行函数 。当然它会运行 :D 把它改成这样:
User.create({
email: uname,
password: psw
})
.then(()=>{console.log('success')})
.catch((err) => { console.log(err); });

关于node.js - Promise.then() 在 SequelizeUniqueConstraintError 上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60988694/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com