Node.js 创建函数实现前最佳实践

Node.js 创建函数实现前最佳实践,node.js,authentication,express,bcrypt,sails.js,Node.js,Authentication,Express,Bcrypt,Sails.js,大家好,虽然我在创建函数之前已经实现了bcrypt,但人们使用函数签名实现它有两种方式 beforeCreate: function (user, next, cb) beforeCreate: function (user, cb) 或者使用函数签名 beforeCreate: function (user, next, cb) beforeCreate: function (user, cb) 他们在完成函数后调用cb()或next(),我想知道哪种方法更好,为什么 大多数S

大家好,虽然我在创建函数之前已经实现了bcrypt,但人们使用函数签名实现它有两种方式

beforeCreate: function (user, next, cb) 
beforeCreate: function (user, cb) 
或者使用函数签名

beforeCreate: function (user, next, cb) 
beforeCreate: function (user, cb) 

他们在完成函数后调用cb()或next(),我想知道哪种方法更好,为什么

大多数Sails/Waterline生命周期回调应该有两个参数:
values
,它是一个包含记录字段值的对象;
cb
是一个在完成所有操作后调用的回调。因此,正确的签名应该是:

beforeCreate: function (values, cb) { ... }

有关所有生命周期回调签名,请参见。

大多数SAIL/Waterline生命周期回调都应该有两个参数:
,它是一个包含记录字段值的对象,以及
cb
,这是一个在完成所有操作后要调用的回调。因此,正确的签名应该是:

beforeCreate: function (values, cb) { ... }

有关所有生命周期回调签名,请参见。

大多数SAIL/Waterline生命周期回调都应该有两个参数:
,它是一个包含记录字段值的对象,以及
cb
,这是一个在完成所有操作后要调用的回调。因此,正确的签名应该是:

beforeCreate: function (values, cb) { ... }

有关所有生命周期回调签名,请参见。

大多数SAIL/Waterline生命周期回调都应该有两个参数:
,它是一个包含记录字段值的对象,以及
cb
,这是一个在完成所有操作后要调用的回调。因此,正确的签名应该是:

beforeCreate: function (values, cb) { ... }

有关所有生命周期回调签名,请参阅。

next
cb
在本例中是相同的,只是回调有两种不同的命名约定。无论哪种方式,@bredikhin说,
都是提交给模型的数据。我使用bcrypt密码散列来实现这一点,您可以看到这个示例,感谢bredikhin的回答,非常感谢gorelative的评论和提供的示例。:)
next
cb
在本例中是相同的,只是回调有两种不同的命名约定。无论哪种方式,@bredikhin说,
都是提交给模型的数据。我使用bcrypt密码散列来实现这一点,您可以看到这个示例,感谢bredikhin的回答,非常感谢gorelative的评论和提供的示例。:)
next
cb
在本例中是相同的,只是回调有两种不同的命名约定。无论哪种方式,@bredikhin说,
都是提交给模型的数据。我使用bcrypt密码散列来实现这一点,您可以看到这个示例,感谢bredikhin的回答,非常感谢gorelative的评论和提供的示例。:)
next
cb
在本例中是相同的,只是回调有两种不同的命名约定。无论哪种方式,@bredikhin说,
都是提交给模型的数据。我使用bcrypt密码散列来实现这一点,您可以看到这个示例,感谢bredikhin的回答,非常感谢gorelative的评论和提供的示例。:)