有没有更好的方法来避免重复的生命周期callback?
水线允许模型上的一些生命周期callback,如下所示…
- beforeValidation / fn(values,cb)
- beforeCreate / fn(values,cb)
- afterCreate / fn(newInsertedRecord,cb)
- beforeValidation / fn(valuesToUpdate,cb)
- beforeUpdate / fn(valuesToUpdate,cb)
- afterUpdate / fn(updatedRecord,cb)
- beforeDestroy / fn(criteria,cb)
- afterDestroy / fn(cb)
但是,如果我想在创build和更新之前采取行动呢?
Rails有一个beforeSave
,这非常棒。 在sails.js中有类似的东西吗?
我可以有两个callback调用一个函数,但我想确定没有更好的方法。
你可以从beforeCreate
调用beforeUpdate
,反之亦然:
beforeCreate: function(values, cb) { // Forward to the model's beforeUpdate method return User.beforeUpdate(values, cb); }, beforeUpdate: function(valuesToUpdate, cb) { ... }
请记住,通过update
调用发送的值可能与发送create
的值不同, 例如,不要依赖实例的id
值可用!