gpt4 book ai didi

node.js - 有没有更好的方法来避免重复的生命周期回调?

转载 作者:太空宇宙 更新时间:2023-11-03 23:41:22 25 4
gpt4 key购买 nike

Waterline 允许对模型进行一些生命周期回调,如下所列...

  • 验证前/fn(values, cb)
  • 创建前/fn(values, cb)
  • afterCreate/fn(newlyInsertedRecord, cb)
  • 验证前/fn(valuesToUpdate, cb)
  • 更新前/fn(valuesToUpdate, cb)
  • afterUpdate/fn(updatedRecord, cb)
  • 销毁前/fn(criteria, cb)
  • afterDestroy/fn(cb)

但是,如果我想在创建和更新之前执行操作该怎么办?

Rails 有一个 beforeSave 对此非常有用。 sails.js 中有类似的东西吗?

我可以让两个回调都调用一个函数,但我想确定没有更好的方法。

最佳答案

您可以从 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 值可用!

关于node.js - 有没有更好的方法来避免重复的生命周期回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23226519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com