如何在sequelize节点js中编写回调?

时间:2013-10-02 08:14:40

标签: node.js sequelize.js

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

2 个答案:

答案 0 :(得分:0)

5天前在https://github.com/sequelize/sequelize/pull/894添加了这些功能,因此没有官方文档。然而,PR本身有很好的文档记录,所以你应该能够从中找到它。请注意,PR中的代码尚未在NPM中,因此您必须直接在包文件中引用master才能访问该功能

答案 1 :(得分:0)

有4种解决方法。

1)使用蓝鸟promise处理带有promisify.all的多个续集调用的promise,所有这些都带有.then()

2)使用.then()进行单个调用,例如:

 Model.findAll({attributes: ['foo', ['bar', 'baz']]}).then(res=>{Do whatever })

3)使用异步等待来处理诺言

const test = async () =>{
  let value = await Model.findAll({attributes: ['foo', ['bar', 'baz']]})

 // Do whatever 
}

4)使用合并然后异步等待

 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 
}