在 sequelize nodejs 中调用 save 或 find 函数之前,我们如何才能有像 before_save 或 after_find 这样的回调?
问问题
261 次
2 回答
0
该功能是 5 天前在https://github.com/sequelize/sequelize/pull/894中添加的,因此没有官方文档。但是,PR 本身有很好的文档记录,因此您应该能够从那里弄清楚。请注意 PR 中的代码尚未在 NPM 中,因此您必须直接在包文件中引用 master 才能访问该功能
于 2013-10-02T09:19:47.430 回答
0
有 4 种方法可以解决。
1) 使用 bluebird 承诺处理多个 sequelize 调用的承诺,其中 promisify.all 带有 .then()
2) 使用 .then() 进行个人调用,例如:
Model.findAll({attributes: ['foo', ['bar', 'baz']]}).then(res=>{Do whatever })
3) 使用 async await 来处理 promise
const test = async () =>{
let value = await Model.findAll({attributes: ['foo', ['bar', 'baz']]})
// Do whatever
}
4) 使用 combine then 和 async await
const test = async () =>{
let value = await Model.findAll({attributes: ['foo', ['bar', 'baz']]}).then(res=>res.filter(id=>id===2))
//here in .then the filter operation is done which is awaited to maintain synchronization whose value is finally returned to value variable that can be used further in the code
// Do whatever
}
于 2018-12-09T12:53:22.847 回答