promise 向外部抛出异常
最近刚接触sequelize;模型中存在表单验证,自定义表单验证是通过自定义方法;并当条件判断失败是抛出异常,我想自定义一个验证数据唯一性的方法,而sequelize方法又是通过promise的,没办法向外抛出异常。请问如何解决。
我想要的结果,如下代码:
function only(val) {
co(function* () {
var count = yield Account.count({
where: {nick: val}
});
console.log('数据')
}).catch(function (e) {
console.log(e)
// 这里继续 throw
});
// 我想要的结果是让 only 抛出方法异常。
}
try {
// 执行这个方法, 抛出异常
only('123')
} catch (e) {
// 最终在这里获取异常
console.log(e)
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你也许并不是需要解决 Promise 抛出异常的问题,应该是如何使用 Promise 的问题:
你可以使用 Koa@1 ,它本身支持 generator (如果你用的就是 Koa 那你的使用方式是错的)
如果用 Express 可以用 async/await
如果用 Koa@2 也需要用 async/await
你可以读一下阮老师的文章:http://es6.ruanyifeng.com/#do...
sequelize 的 validate 是支持 Promise 的,所以可以这样:
但是如果只是校验唯一性最好用数据库 unique 来做
var co = require("co");
function only(val) {
}
co(function* () {
})