0

在 sequelize nodejs 中调用 save 或 find 函数之前,我们如何才能有像 before_save 或 after_find 这样的回调?

4

2 回答 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 回答